~ubuntu-branches/debian/sid/gcc-4.8/sid

« back to all changes in this revision

Viewing changes to .svn/pristine/e1/e112634c07d7b2f1793aec86bf7f32d7a315677d.svn-base

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2014-12-19 19:48:34 UTC
  • Revision ID: package-import@ubuntu.com-20141219194834-4dz1q7rrn5pad823
Tags: 4.8.4-1
* GCC 4.8.4 release.
  - Fix PR target/61407 (darwin), PR middle-end/58624 (ice),
    PR sanitizer/64265 (wrong code).
* Require recent binutils to pass go test failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# DP: updates from the 4.8 branch upto 20131121 (r205210).
 
2
 
 
3
last_updated()
 
4
{
 
5
        cat > ${dir}LAST_UPDATED <<EOF
 
6
Thu Nov 21 12:39:23 CET 2013
 
7
Thu Nov 21 11:39:23 UTC 2013 (revision 205210)
 
8
EOF
 
9
}
 
10
 
 
11
LANG=C svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_4_8_2_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch \
 
12
        | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \
 
13
        | awk '/^Index:.*\.(class|texi)/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
 
14
 
 
15
Index: libstdc++-v3/doc/xml/manual/status_cxx2011.xml
 
16
===================================================================
 
17
--- a/src/libstdc++-v3/doc/xml/manual/status_cxx2011.xml        (.../tags/gcc_4_8_2_release)
 
18
+++ b/src/libstdc++-v3/doc/xml/manual/status_cxx2011.xml        (.../branches/gcc-4_8-branch)
 
19
@@ -877,10 +877,11 @@
 
20
       <entry/>
 
21
     </row>
 
22
     <row>
 
23
+      <?dbhtml bgcolor="#B0B0B0" ?>
 
24
       <entry>20.9.7.6</entry>
 
25
       <entry>Other transformations</entry>
 
26
-      <entry>Y</entry>
 
27
-      <entry/>
 
28
+      <entry>Partial</entry>
 
29
+      <entry>Missing <code>aligned_union</code>.</entry>
 
30
     </row>
 
31
     <row>
 
32
       <entry>20.10</entry>
 
33
Index: libstdc++-v3/doc/xml/manual/spine.xml
 
34
===================================================================
 
35
--- a/src/libstdc++-v3/doc/xml/manual/spine.xml (.../tags/gcc_4_8_2_release)
 
36
+++ b/src/libstdc++-v3/doc/xml/manual/spine.xml (.../branches/gcc-4_8-branch)
 
37
@@ -20,6 +20,7 @@
 
38
     <year>2010</year>
 
39
     <year>2011</year>
 
40
     <year>2012</year>
 
41
+    <year>2013</year>
 
42
     <holder>
 
43
       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">FSF</link>
 
44
     </holder>
 
45
Index: libstdc++-v3/doc/html/bk02.html
 
46
===================================================================
 
47
--- a/src/libstdc++-v3/doc/html/bk02.html       (.../tags/gcc_4_8_2_release)
 
48
+++ b/src/libstdc++-v3/doc/html/bk02.html       (.../branches/gcc-4_8-branch)
 
49
@@ -1,2 +1,2 @@
 
50
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
51
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility" /><link rel="next" href="api.html" title="The GNU C++ Library API Reference" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
 
52
\ No newline at end of file
 
53
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility" /><link rel="next" href="api.html" title="The GNU C++ Library API Reference" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
 
54
\ No newline at end of file
 
55
Index: libstdc++-v3/doc/html/bk03.html
 
56
===================================================================
 
57
--- a/src/libstdc++-v3/doc/html/bk03.html       (.../tags/gcc_4_8_2_release)
 
58
+++ b/src/libstdc++-v3/doc/html/bk03.html       (.../branches/gcc-4_8-branch)
 
59
@@ -1,2 +1,2 @@
 
60
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
61
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="api.html" title="The GNU C++ Library API Reference" /><link rel="next" href="faq.html" title="Frequently Asked Questions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library API Reference </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
 
62
\ No newline at end of file
 
63
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="api.html" title="The GNU C++ Library API Reference" /><link rel="next" href="faq.html" title="Frequently Asked Questions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library API Reference </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
 
64
\ No newline at end of file
 
65
Index: libstdc++-v3/doc/html/faq.html
 
66
===================================================================
 
67
--- a/src/libstdc++-v3/doc/html/faq.html        (.../tags/gcc_4_8_2_release)
 
68
+++ b/src/libstdc++-v3/doc/html/faq.html        (.../branches/gcc-4_8-branch)
 
69
@@ -1,9 +1,9 @@
 
70
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
71
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="bk03.html" title="" /><link rel="prev" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="article"><div class="titlepage"><div><div><h1 class="title"><a id="faq"></a>Frequently Asked Questions</h1></div><div><p class="copyright">Copyright © 
 
72
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="bk03.html" title="" /><link rel="prev" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="article"><div class="titlepage"><div><div><h1 class="title"><a id="faq"></a>Frequently Asked Questions</h1></div><div><p class="copyright">Copyright © 
 
73
       2008, 2010
 
74
      
 
75
       <a class="link" href="http://www.fsf.org" target="_top">FSF</a>
 
76
-    </p></div></div><hr /></div><div class="qandaset"><a id="idp1581728"></a><dl><dt></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
 
77
+    </p></div></div><hr /></div><div class="qandaset"><a id="idm270011560848"></a><dl><dt></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
 
78
       What is libstdc++?
 
79
     </a></dt><dt>1.2. <a href="faq.html#faq.why">
 
80
       Why should I use libstdc++?
 
81
Index: libstdc++-v3/doc/html/index.html
 
82
===================================================================
 
83
--- a/src/libstdc++-v3/doc/html/index.html      (.../tags/gcc_4_8_2_release)
 
84
+++ b/src/libstdc++-v3/doc/html/index.html      (.../branches/gcc-4_8-branch)
 
85
@@ -1,5 +1,5 @@
 
86
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
87
-<!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-NS Stylesheets V1.77.1" /><meta name="description" content="Short Contents Copyright (C) 2008-2013 FSF Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. This is the top level of the libstdc++ documentation set. The documentation is divided into the following three sections. Manual Frequently Asked Questions API and Source Documentation" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="next" href="manual/index.html" title="The GNU C++ Library Manual" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr></table><hr /></div><div class="set" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"></a>The GNU C++ Library</h1></div><div><div class="abstract"><a id="contents"></a><p class="title"><strong>Short Contents</strong></p><p>
 
88
+<!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-NS Stylesheets V1.78.1" /><meta name="description" content="Short Contents Copyright (C) 2008-2013 FSF Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. This is the top level of the libstdc++ documentation set. The documentation is divided into the following three sections. Manual Frequently Asked Questions API and Source Documentation" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="next" href="manual/index.html" title="The GNU C++ Library Manual" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr></table><hr /></div><div class="set" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"></a>The GNU C++ Library</h1></div><div><div class="abstract"><a id="contents"></a><p class="title"><strong>Short Contents</strong></p><p>
 
89
       Copyright (C) 2008-2013
 
90
       <a class="link" href="http://www.fsf.org/" target="_top">FSF
 
91
       </a>
 
92
@@ -20,7 +20,7 @@
 
93
          </p></li><li class="listitem"><p>
 
94
            <a class="link" href="api.html" title="The GNU C++ Library API Reference">API and Source Documentation</a>
 
95
          </p></li></ul></div><p>
 
96
-    </p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I. 
 
97
+    </p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I. 
 
98
   Introduction
 
99
   
 
100
 </a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="manual/status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="manual/license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/configure.html">Configure</a></span></dt><dt><span class="section"><a href="manual/make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="manual/std_contents.html">II. 
 
101
@@ -34,13 +34,13 @@
 
102
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="manual/concept_checking.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/utilities.html">6. 
 
103
   Utilities
 
104
   
 
105
-</a></span></dt><dd><dl><dt><span class="section"><a href="manual/utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="manual/pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="manual/memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idp13920976">Interface Design</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp13924528">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp13937824">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="manual/memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idp15512272">Class Hierarchy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15534784">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15542080">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15556704">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idp15573056">Examples</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15576640">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/strings.html">7. 
 
106
+</a></span></dt><dd><dl><dt><span class="section"><a href="manual/utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="manual/pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="manual/memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idm270001611968">Interface Design</a></span></dt><dt><span class="section"><a href="manual/memory.html#idm270001608416">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idm270001595120">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="manual/memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idm270000019344">Class Hierarchy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idm269999996832">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/memory.html#idm269999989536">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idm269999974912">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idm269999958496">Examples</a></span></dt><dt><span class="section"><a href="manual/memory.html#idm269999954912">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/strings.html">7. 
 
107
   Strings
 
108
   
 
109
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="manual/strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/localization.html">8. 
 
110
   Localization
 
111
   
 
112
-</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="manual/localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#idp15778336">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="manual/facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/containers.html">9. 
 
113
+</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="manual/localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#idm269999753024">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="manual/facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/containers.html">9. 
 
114
   Containers
 
115
   
 
116
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="manual/containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="manual/associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="manual/associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="manual/associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="manual/associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/unordered_associative.html">Unordered Associative</a></span></dt><dd><dl><dt><span class="section"><a href="manual/unordered_associative.html#containers.unordered.hash">Hash Code</a></span></dt><dd><dl><dt><span class="section"><a href="manual/unordered_associative.html#containers.unordered.cache">Hash Code Caching Policy</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/iterators.html">10. 
 
117
Index: libstdc++-v3/doc/html/api.html
 
118
===================================================================
 
119
--- a/src/libstdc++-v3/doc/html/api.html        (.../tags/gcc_4_8_2_release)
 
120
+++ b/src/libstdc++-v3/doc/html/api.html        (.../branches/gcc-4_8-branch)
 
121
@@ -1,12 +1,12 @@
 
122
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
123
-<!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 API Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="bk02.html" title="" /><link rel="prev" href="bk02.html" title="" /><link rel="next" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library API Reference</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article"><div class="titlepage"><div><div><h1 class="title"><a id="api"></a>The GNU C++ Library API Reference</h1></div><div><p class="copyright">Copyright © 
 
124
+<!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 API Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="bk02.html" title="" /><link rel="prev" href="bk02.html" title="" /><link rel="next" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library API Reference</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article"><div class="titlepage"><div><div><h1 class="title"><a id="api"></a>The GNU C++ Library API Reference</h1></div><div><p class="copyright">Copyright © 
 
125
       2008
 
126
     , 
 
127
       2010
 
128
      
 
129
       <a class="link" href="http://www.fsf.org/" target="_top">FSF
 
130
       </a>
 
131
-    </p></div><div><div class="legalnotice"><a id="idp3706336"></a><p>
 
132
+    </p></div><div><div class="legalnotice"><a id="idm270006235696"></a><p>
 
133
       <a class="link" href="manual/license.html" title="License">License
 
134
       </a>
 
135
     </p></div></div></div><hr /></div><p>
 
136
Index: libstdc++-v3/doc/html/manual/dynamic_memory.html
 
137
===================================================================
 
138
--- a/src/libstdc++-v3/doc/html/manual/dynamic_memory.html      (.../tags/gcc_4_8_2_release)
 
139
+++ b/src/libstdc++-v3/doc/html/manual/dynamic_memory.html      (.../branches/gcc-4_8-branch)
 
140
@@ -1,5 +1,5 @@
 
141
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
142
-<!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>Dynamic Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="support.html" title="Chapter 4.  Support" /><link rel="next" href="termination.html" title="Termination" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Dynamic Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
 
143
+<!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>Dynamic Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="support.html" title="Chapter 4.  Support" /><link rel="next" href="termination.html" title="Termination" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Dynamic Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
 
144
   Support
 
145
   
 
146
 </th><td width="20%" align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.memory"></a>Dynamic Memory</h2></div></div></div><p>
 
147
Index: libstdc++-v3/doc/html/manual/iterators.html
 
148
===================================================================
 
149
--- a/src/libstdc++-v3/doc/html/manual/iterators.html   (.../tags/gcc_4_8_2_release)
 
150
+++ b/src/libstdc++-v3/doc/html/manual/iterators.html   (.../branches/gcc-4_8-branch)
 
151
@@ -1,13 +1,13 @@
 
152
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
153
-<!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.  Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="containers_and_c.html" title="Interacting with C" /><link rel="next" href="algorithms.html" title="Chapter 11.  Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. 
 
154
+<!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.  Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="containers_and_c.html" title="Interacting with C" /><link rel="next" href="algorithms.html" title="Chapter 11.  Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. 
 
155
   Iterators
 
156
   
 
157
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
158
     Standard Contents
 
159
   </th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"></a>Chapter 10. 
 
160
   Iterators
 
161
-  <a id="idp16156992" class="indexterm"></a>
 
162
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="section"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="section"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.iterators.predefined"></a>Predefined</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h3></div></div></div><p>
 
163
+  <a id="idm269999374096" class="indexterm"></a>
 
164
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="section"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="section"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.iterators.predefined"></a>Predefined</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h3></div></div></div><p>
 
165
      The following
 
166
 FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
 
167
 iterators are not implemented as pointers.  They are a generalization
 
168
Index: libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html
 
169
===================================================================
 
170
--- a/src/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html      (.../tags/gcc_4_8_2_release)
 
171
+++ b/src/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html      (.../branches/gcc-4_8-branch)
 
172
@@ -1,5 +1,5 @@
 
173
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
174
-<!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>Single Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator_impl.html" title="Implementation" /><link rel="next" href="mt_allocator_ex_multi.html" title="Multiple Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Single Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_impl.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_ex_multi.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_single"></a>Single Thread Example</h2></div></div></div><p>
 
175
+<!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>Single Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator_impl.html" title="Implementation" /><link rel="next" href="mt_allocator_ex_multi.html" title="Multiple Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Single Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_impl.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_ex_multi.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_single"></a>Single Thread Example</h2></div></div></div><p>
 
176
 Let's start by describing how the data on a freelist is laid out in memory.
 
177
 This is the first two blocks in freelist for thread id 3 in bin 3 (8 bytes):
 
178
 </p><pre class="programlisting">
 
179
Index: libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
 
180
===================================================================
 
181
--- a/src/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html      (.../tags/gcc_4_8_2_release)
 
182
+++ b/src/libstdc++-v3/doc/html/manual/generalized_numeric_operations.html      (.../branches/gcc-4_8-branch)
 
183
@@ -1,5 +1,5 @@
 
184
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
185
-<!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>Generalized Operations</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="next" href="numerics_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Generalized Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
 
186
+<!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>Generalized Operations</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="next" href="numerics_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Generalized Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
 
187
   Numerics
 
188
   
 
189
 </th><td width="20%" align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.generalized_ops"></a>Generalized Operations</h2></div></div></div><p>
 
190
Index: libstdc++-v3/doc/html/manual/mt_allocator.html
 
191
===================================================================
 
192
--- a/src/libstdc++-v3/doc/html/manual/mt_allocator.html        (.../tags/gcc_4_8_2_release)
 
193
+++ b/src/libstdc++-v3/doc/html/manual/mt_allocator.html        (.../branches/gcc-4_8-branch)
 
194
@@ -1,8 +1,8 @@
 
195
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
196
-<!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. The mt_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="profile_mode_diagnostics.html" title="Diagnostics" /><link rel="next" href="mt_allocator_design.html" title="Design Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. The mt_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode_diagnostics.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
197
+<!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. The mt_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="profile_mode_diagnostics.html" title="Diagnostics" /><link rel="next" href="mt_allocator_design.html" title="Design Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. The mt_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode_diagnostics.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
198
   Extensions
 
199
   
 
200
-</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_design.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"></a>Chapter 20. The mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="mt_allocator_design.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="mt_allocator_ex_single.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="mt_allocator_ex_multi.html">Multiple Thread Example</a></span></dt></dl></div><p>
 
201
+</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_design.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"></a>Chapter 20. The mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="mt_allocator_design.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="mt_allocator_ex_single.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="mt_allocator_ex_multi.html">Multiple Thread Example</a></span></dt></dl></div><p>
 
202
 </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.intro"></a>Intro</h2></div></div></div><p>
 
203
   The mt allocator [hereinafter referred to simply as "the allocator"]
 
204
   is a fixed size (power of two) allocator that was initially
 
205
Index: libstdc++-v3/doc/html/manual/unordered_associative.html
 
206
===================================================================
 
207
--- a/src/libstdc++-v3/doc/html/manual/unordered_associative.html       (.../tags/gcc_4_8_2_release)
 
208
+++ b/src/libstdc++-v3/doc/html/manual/unordered_associative.html       (.../branches/gcc-4_8-branch)
 
209
@@ -1,5 +1,5 @@
 
210
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
211
-<!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>Unordered Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="associative.html" title="Associative" /><link rel="next" href="containers_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Unordered Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
 
212
+<!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>Unordered Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="associative.html" title="Associative" /><link rel="next" href="containers_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Unordered Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
 
213
   Containers
 
214
   
 
215
 </th><td width="20%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.unordered"></a>Unordered Associative</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="containers.unordered.hash"></a>Hash Code</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="containers.unordered.cache"></a>Hash Code Caching Policy</h4></div></div></div><p>
 
216
Index: libstdc++-v3/doc/html/manual/configure.html
 
217
===================================================================
 
218
--- a/src/libstdc++-v3/doc/html/manual/configure.html   (.../tags/gcc_4_8_2_release)
 
219
+++ b/src/libstdc++-v3/doc/html/manual/configure.html   (.../branches/gcc-4_8-branch)
 
220
@@ -1,5 +1,5 @@
 
221
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
222
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, configure, options" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="setup.html" title="Chapter 2. Setup" /><link rel="next" href="make.html" title="Make" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.configure"></a>Configure</h2></div></div></div><p>
 
223
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, configure, options" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="setup.html" title="Chapter 2. Setup" /><link rel="next" href="make.html" title="Make" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.configure"></a>Configure</h2></div></div></div><p>
 
224
   When configuring libstdc++, you'll have to configure the entire
 
225
   <span class="emphasis"><em>gccsrcdir</em></span> directory. Consider using the
 
226
   toplevel gcc configuration option
 
227
Index: libstdc++-v3/doc/html/manual/status.html
 
228
===================================================================
 
229
--- a/src/libstdc++-v3/doc/html/manual/status.html      (.../tags/gcc_4_8_2_release)
 
230
+++ b/src/libstdc++-v3/doc/html/manual/status.html      (.../branches/gcc-4_8-branch)
 
231
@@ -1,13 +1,13 @@
 
232
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
233
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="intro.html" title="Part I.  Introduction" /><link rel="next" href="license.html" title="License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
 
234
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="intro.html" title="Part I.  Introduction" /><link rel="next" href="license.html" title="License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
 
235
   Introduction
 
236
   
 
237
-</th><td width="20%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"></a>Chapter 1. Status</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.iso"></a>Implementation Status</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"></a>C++ 1998/2003</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"></a>Implementation Status</h4></div></div></div><p>
 
238
+</th><td width="20%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"></a>Chapter 1. Status</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.iso"></a>Implementation Status</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"></a>C++ 1998/2003</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"></a>Implementation Status</h4></div></div></div><p>
 
239
 This status table is based on the table of contents of ISO/IEC 14882:2003.
 
240
 </p><p>
 
241
 This page describes the C++ support in mainline GCC SVN, not in any
 
242
 particular release.
 
243
-</p><div class="table"><a id="idp452240"></a><p class="title"><strong>Table 1.1. C++ 1998/2003 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
 
244
+</p><div class="table"><a id="idm270008034928"></a><p class="title"><strong>Table 1.1. C++ 1998/2003 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
 
245
        <span class="emphasis"><em>18</em></span>
 
246
       </td><td colspan="3" align="left">
 
247
        <span class="emphasis"><em>Language support</em></span>
 
248
@@ -157,7 +157,7 @@
 
249
 </p><p>
 
250
 This page describes the C++11 support in mainline GCC SVN, not in any
 
251
 particular release.
 
252
-</p><div class="table"><a id="idp8670848"></a><p class="title"><strong>Table 1.2. C++ 2011 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 2011 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
 
253
+</p><div class="table"><a id="idm270007982624"></a><p class="title"><strong>Table 1.2. C++ 2011 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 2011 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
 
254
        <span class="emphasis"><em>18</em></span>
 
255
       </td><td colspan="3" align="left">
 
256
        <span class="emphasis"><em>Language support</em></span>
 
257
@@ -183,7 +183,7 @@
 
258
       is_trivially_copy_constructible, is_trivially_move_constructible,
 
259
       is_trivially_assignable, is_trivially_default_assignable,
 
260
       is_trivially_copy_assignable, is_trivially_move_assignable
 
261
-      </td></tr><tr><td align="left">20.9.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.3</td><td align="left">Sign modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.4</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.5</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.6</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10</td><td align="left">Compile-time rational arithmetic</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code">&lt;ratio&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Class template <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Arithmetic on <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Comparison of <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">SI types for <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4</td><td align="left">Time-related traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.4.1</td><td align="left"><code class="code">treat_as_floating_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.2</td><td align="left"><code class="code">duration_values</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.3</td><td align="left">Specializations of <code class="code">common_type</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.11.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Partial</td><td align="left">Missing constexpr for non-member arithmetic operations</td></tr><tr><td align="left">20.11.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7</td><td align="left">Clocks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.7.1</td><td align="left">Class <code class="code">system_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.2</td><td align="left">Class <code class="code">steady_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.3</td><td align="left">Class <code class="code">high_resolution_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12</td><td align="left">Scoped allocator adaptor</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.12.1</td><td align="left">Header <code class="code">&lt;scoped_allocator&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.2</td><td align="left">Scoped allocator adaptor member types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Scoped allocator adaptor constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12.4</td><td align="left">Scoped allocator adaptor members</td><td align="left">Partial</td><td align="left">OUTERMOST is not recursive.</td></tr><tr><td align="left">20.12.5</td><td align="left">Scoped allocator operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
 
262
+      </td></tr><tr><td align="left">20.9.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.3</td><td align="left">Sign modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.4</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.5</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.9.7.6</td><td align="left">Other transformations</td><td align="left">Partial</td><td align="left">Missing <code class="code">aligned_union</code>.</td></tr><tr><td align="left">20.10</td><td align="left">Compile-time rational arithmetic</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code">&lt;ratio&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Class template <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Arithmetic on <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Comparison of <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">SI types for <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4</td><td align="left">Time-related traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.4.1</td><td align="left"><code class="code">treat_as_floating_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.2</td><td align="left"><code class="code">duration_values</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.3</td><td align="left">Specializations of <code class="code">common_type</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.11.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Partial</td><td align="left">Missing constexpr for non-member arithmetic operations</td></tr><tr><td align="left">20.11.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7</td><td align="left">Clocks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.7.1</td><td align="left">Class <code class="code">system_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.2</td><td align="left">Class <code class="code">steady_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.3</td><td align="left">Class <code class="code">high_resolution_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12</td><td align="left">Scoped allocator adaptor</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.12.1</td><td align="left">Header <code class="code">&lt;scoped_allocator&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.2</td><td align="left">Scoped allocator adaptor member types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Scoped allocator adaptor constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12.4</td><td align="left">Scoped allocator adaptor members</td><td align="left">Partial</td><td align="left">OUTERMOST is not recursive.</td></tr><tr><td align="left">20.12.5</td><td align="left">Scoped allocator operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
 
263
        <span class="emphasis"><em>21</em></span>
 
264
       </td><td colspan="3" align="left">
 
265
        <span class="emphasis"><em>Strings</em></span>
 
266
@@ -302,7 +302,7 @@
 
267
 </p><p>
 
268
 This page describes the TR1 support in mainline GCC SVN, not in any particular
 
269
 release.
 
270
-</p><div class="table"><a id="idp7483200"></a><p class="title"><strong>Table 1.3. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
 
271
+</p><div class="table"><a id="idm270006687472"></a><p class="title"><strong>Table 1.3. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
 
272
        <p>
 
273
          Uses code from
 
274
          <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
 
275
@@ -323,7 +323,7 @@
 
276
 </p><p>
 
277
 This page describes the TR 24733 support in mainline GCC SVN, not in any
 
278
 particular release.
 
279
-</p><div class="table"><a id="idp12559072"></a><p class="title"><strong>Table 1.4. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
 
280
+</p><div class="table"><a id="idm270002960368"></a><p class="title"><strong>Table 1.4. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
 
281
        <span class="emphasis"><em>0</em></span>
 
282
       </td><td colspan="3" align="left">
 
283
        <span class="emphasis"><em>Introduction</em></span>
 
284
Index: libstdc++-v3/doc/html/manual/profile_mode_devel.html
 
285
===================================================================
 
286
--- a/src/libstdc++-v3/doc/html/manual/profile_mode_devel.html  (.../tags/gcc_4_8_2_release)
 
287
+++ b/src/libstdc++-v3/doc/html/manual/profile_mode_devel.html  (.../branches/gcc-4_8-branch)
 
288
@@ -1,5 +1,5 @@
 
289
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
290
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_impl.html" title="Implementation Issues" /><link rel="next" href="profile_mode_diagnostics.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="profile_mode_impl.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_diagnostics.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.developer"></a>Developer Information</h2></div></div></div><div class="section"><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
 
291
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_impl.html" title="Implementation Issues" /><link rel="next" href="profile_mode_diagnostics.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="profile_mode_impl.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_diagnostics.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.developer"></a>Developer Information</h2></div></div></div><div class="section"><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
 
292
    <code class="code">-D_GLIBCXX_PROFILE</code> through preprocessor directives in
 
293
    <code class="code">include/std/*</code>.
 
294
   </p><p>Instrumented implementations are provided in
 
295
Index: libstdc++-v3/doc/html/manual/debug_mode_design.html
 
296
===================================================================
 
297
--- a/src/libstdc++-v3/doc/html/manual/debug_mode_design.html   (.../tags/gcc_4_8_2_release)
 
298
+++ b/src/libstdc++-v3/doc/html/manual/debug_mode_design.html   (.../branches/gcc-4_8-branch)
 
299
@@ -1,5 +1,5 @@
 
300
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
301
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode_using.html" title="Using" /><link rel="next" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode_using.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
302
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode_using.html" title="Using" /><link rel="next" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode_using.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
303
   </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.goals"></a>Goals</h3></div></div></div><p>
 
304
     </p><p> The libstdc++ debug mode replaces unsafe (but efficient) standard
 
305
   containers and iterators with semantically equivalent safe standard
 
306
@@ -391,7 +391,7 @@
 
307
     </p><p> There are several existing implementations of debug modes for C++
 
308
   standard library implementations, although none of them directly
 
309
   supports debugging for programs using libstdc++. The existing
 
310
-  implementations include:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html" target="_top">SafeSTL</a>:
 
311
+  implementations include:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="link" href="http://www.cs.sjsu.edu/faculty/horstman/safestl.html" target="_top">SafeSTL</a>:
 
312
   SafeSTL was the original debugging version of the Standard Template
 
313
   Library (STL), implemented by Cay S. Horstmann on top of the
 
314
   Hewlett-Packard STL. Though it inspired much work in this area, it
 
315
Index: libstdc++-v3/doc/html/manual/policy_data_structures_design.html
 
316
===================================================================
 
317
--- a/src/libstdc++-v3/doc/html/manual/policy_data_structures_design.html       (.../tags/gcc_4_8_2_release)
 
318
+++ b/src/libstdc++-v3/doc/html/manual/policy_data_structures_design.html       (.../branches/gcc-4_8-branch)
 
319
@@ -1,5 +1,5 @@
 
320
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
321
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_using.html" title="Using" /><link rel="next" href="policy_based_data_structures_test.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.design"></a>Design</h2></div></div></div><p></p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.concepts"></a>Concepts</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.null_type"></a>Null Policy Classes</h4></div></div></div><p>
 
322
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_using.html" title="Using" /><link rel="next" href="policy_based_data_structures_test.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.design"></a>Design</h2></div></div></div><p></p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.concepts"></a>Concepts</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.null_type"></a>Null Policy Classes</h4></div></div></div><p>
 
323
        Associative containers are typically parametrized by various
 
324
        policies. For example, a hash-based associative container is
 
325
        parametrized by a hash-functor, transforming each key into an
 
326
@@ -170,7 +170,7 @@
 
327
          naturally; collision-chaining hash tables (label B) store
 
328
          equivalent-key values in the same bucket, the bucket can be
 
329
          arranged so that equivalent-key values are consecutive.
 
330
-       </p><div class="figure"><a id="idp18000448"></a><p class="title"><strong>Figure 22.8. Non-unique Mapping Standard Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_1.png" align="middle" alt="Non-unique Mapping Standard Containers" /></div></div></div><br class="figure-break" /><p>
 
331
+       </p><div class="figure"><a id="idm269997530416"></a><p class="title"><strong>Figure 22.8. Non-unique Mapping Standard Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_1.png" align="middle" alt="Non-unique Mapping Standard Containers" /></div></div></div><br class="figure-break" /><p>
 
332
          Put differently, the standards' non-unique mapping
 
333
          associative-containers are associative containers that map
 
334
          primary keys to linked lists that are embedded into the
 
335
@@ -252,7 +252,7 @@
 
336
          first graphic above. Labels A and B, respectively. Each shaded
 
337
          box represents some size-type or secondary
 
338
          associative-container.
 
339
-       </p><div class="figure"><a id="idp18023952"></a><p class="title"><strong>Figure 22.10. Non-unique Mapping Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_3.png" align="middle" alt="Non-unique Mapping Containers" /></div></div></div><br class="figure-break" /><p>
 
340
+       </p><div class="figure"><a id="idm269997506912"></a><p class="title"><strong>Figure 22.10. Non-unique Mapping Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_3.png" align="middle" alt="Non-unique Mapping Containers" /></div></div></div><br class="figure-break" /><p>
 
341
          In the first example above, then, one would use an associative
 
342
          container mapping each user to an associative container which
 
343
          maps each application id to a start time (see
 
344
@@ -305,7 +305,7 @@
 
345
        shows invariants for order-preserving containers: point-type
 
346
        iterators are synonymous with range-type iterators.
 
347
        Orthogonally,  <span class="emphasis"><em>C</em></span>shows invariants for "set"
 
348
-       containers: iterators are synonymous with const iterators.</p><div class="figure"><a id="idp18043824"></a><p class="title"><strong>Figure 22.11. Point Iterator Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterator_hierarchy.png" align="middle" alt="Point Iterator Hierarchy" /></div></div></div><br class="figure-break" /><p>Note that point-type iterators in self-organizing containers
 
349
+       containers: iterators are synonymous with const iterators.</p><div class="figure"><a id="idm269997487104"></a><p class="title"><strong>Figure 22.11. Point Iterator Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterator_hierarchy.png" align="middle" alt="Point Iterator Hierarchy" /></div></div></div><br class="figure-break" /><p>Note that point-type iterators in self-organizing containers
 
350
        (hash-based associative containers) lack movement
 
351
        operators, such as <code class="literal">operator++</code> - in fact, this
 
352
        is the reason why this library differentiates from the standard C++ librarys
 
353
@@ -344,7 +344,7 @@
 
354
          to the question of whether point-type iterators and range-type
 
355
          iterators are valid. The graphic below shows tags corresponding to
 
356
          different types of invalidation guarantees.
 
357
-       </p><div class="figure"><a id="idp18057168"></a><p class="title"><strong>Figure 22.12. Invalidation Guarantee Tags Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_tag_hierarchy.png" align="middle" alt="Invalidation Guarantee Tags Hierarchy" /></div></div></div><br class="figure-break" /><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 
358
+       </p><div class="figure"><a id="idm269997473760"></a><p class="title"><strong>Figure 22.12. Invalidation Guarantee Tags Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_tag_hierarchy.png" align="middle" alt="Invalidation Guarantee Tags Hierarchy" /></div></div></div><br class="figure-break" /><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 
359
              <code class="classname">basic_invalidation_guarantee</code>
 
360
              corresponds to a basic guarantee that a point-type iterator,
 
361
              a found pointer, or a found reference, remains valid as long
 
362
@@ -428,7 +428,7 @@
 
363
        </p><p>
 
364
          This library contains a container tag hierarchy corresponding to the
 
365
          diagram below.
 
366
-       </p><div class="figure"><a id="idp18087392"></a><p class="title"><strong>Figure 22.13. Container Tag Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_container_tag_hierarchy.png" align="middle" alt="Container Tag Hierarchy" /></div></div></div><br class="figure-break" /><p>
 
367
+       </p><div class="figure"><a id="idm269997443664"></a><p class="title"><strong>Figure 22.13. Container Tag Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_container_tag_hierarchy.png" align="middle" alt="Container Tag Hierarchy" /></div></div></div><br class="figure-break" /><p>
 
368
          Given any container <span class="type">Cntnr</span>, the tag of
 
369
          the underlying data structure can be found via <code class="literal">typename
 
370
          Cntnr::container_category</code>.
 
371
@@ -487,7 +487,7 @@
 
372
        collision-chaining container, except for the following.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Comb_Probe_Fn</code> describes how to transform a probe
 
373
          sequence into a sequence of positions within the table.</p></li><li class="listitem"><p><code class="classname">Probe_Fn</code> describes a probe sequence policy.</p></li></ol></div><p>Some of the default template values depend on the values of
 
374
        other parameters, and are explained below.</p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.details"></a>Details</h5></div></div></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.hash_policies"></a>Hash Policies</h6></div></div></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.general"></a>General</h6></div></div></div><p>Following is an explanation of some functions which hashing
 
375
-           involves. The graphic below illustrates the discussion.</p><div class="figure"><a id="idp18127536"></a><p class="title"><strong>Figure 22.14. Hash functions, ranged-hash functions, and
 
376
+           involves. The graphic below illustrates the discussion.</p><div class="figure"><a id="idm269997403584"></a><p class="title"><strong>Figure 22.14. Hash functions, ranged-hash functions, and
 
377
              range-hashing functions</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_ranged_hash_range_hashing_fns.png" align="middle" alt="Hash functions, ranged-hash functions, and range-hashing functions" /></div></div></div><br class="figure-break" /><p>Let U be a domain (e.g., the integers, or the
 
378
            strings of 3 characters). A hash-table algorithm needs to map
 
379
            elements of U "uniformly" into the range [0,..., m -
 
380
@@ -504,7 +504,7 @@
 
381
            Z<sub>+</sub>,</p><p>which maps a non-negative hash value, and a non-negative
 
382
            range upper-bound into a non-negative integral in the range
 
383
            between 0 (inclusive) and the range upper bound (exclusive),
 
384
-           i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a id="idp18141344"></a><p class="title"><strong>Equation 22.1. Ranged Hash Function</strong></p><div class="equation-contents"><span class="mathphrase">
 
385
+           i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a id="idm269997389776"></a><p class="title"><strong>Equation 22.1. Ranged Hash Function</strong></p><div class="equation-contents"><span class="mathphrase">
 
386
                f(u , m) = g(h(u), m)
 
387
              </span></div></div><br class="equation-break" /><p>From the above, it is obvious that given g and
 
388
            h, f can always be composed (however the converse
 
389
@@ -524,7 +524,7 @@
 
390
            transforming the sequence of hash values into a sequence of
 
391
            positions.</p></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.range"></a>Range Hashing</h6></div></div></div><p>Some common choices for range-hashing functions are the
 
392
            division, multiplication, and middle-square methods (<a class="xref" href="policy_data_structures.html#biblio.knuth98sorting" title="The Art of Computer Programming - Sorting and Searching">[biblio.knuth98sorting]</a>), defined
 
393
-           as</p><div class="equation"><a id="idp18147232"></a><p class="title"><strong>Equation 22.2. Range-Hashing, Division Method</strong></p><div class="equation-contents"><span class="mathphrase">
 
394
+           as</p><div class="equation"><a id="idm269997383888"></a><p class="title"><strong>Equation 22.2. Range-Hashing, Division Method</strong></p><div class="equation-contents"><span class="mathphrase">
 
395
                g(r, m) = r mod m
 
396
              </span></div></div><br class="equation-break" /><p>g(r, m) = ⌈ u/v ( a r mod v ) ⌉</p><p>and</p><p>g(r, m) = ⌈ u/v ( r<sup>2</sup> mod v ) ⌉</p><p>respectively, for some positive integrals u and
 
397
            v (typically powers of 2), and some a. Each of
 
398
@@ -535,9 +535,9 @@
 
399
            implement using the low
 
400
            level % (modulo) operation (for any m), or the
 
401
            low level &amp; (bit-mask) operation (for the case where
 
402
-           m is a power of 2), i.e.,</p><div class="equation"><a id="idp18151744"></a><p class="title"><strong>Equation 22.3. Division via Prime Modulo</strong></p><div class="equation-contents"><span class="mathphrase">
 
403
+           m is a power of 2), i.e.,</p><div class="equation"><a id="idm269997379376"></a><p class="title"><strong>Equation 22.3. Division via Prime Modulo</strong></p><div class="equation-contents"><span class="mathphrase">
 
404
                g(r, m) = r % m
 
405
-             </span></div></div><br class="equation-break" /><p>and</p><div class="equation"><a id="idp18153568"></a><p class="title"><strong>Equation 22.4. Division via Bit Mask</strong></p><div class="equation-contents"><span class="mathphrase">
 
406
+             </span></div></div><br class="equation-break" /><p>and</p><div class="equation"><a id="idm269997377552"></a><p class="title"><strong>Equation 22.4. Division via Bit Mask</strong></p><div class="equation-contents"><span class="mathphrase">
 
407
                g(r, m) = r &amp; m - 1, (with m =
 
408
                2<sup>k</sup> for some k)
 
409
              </span></div></div><br class="equation-break" /><p>respectively.</p><p>The % (modulo) implementation has the advantage that for
 
410
@@ -563,7 +563,7 @@
 
411
              s = [ s<sub>0</sub>,..., s<sub>t - 1</sub>]
 
412
            </p><p>be a string of t characters, each of which is from
 
413
            domain S. Consider the following ranged-hash
 
414
-           function:</p><div class="equation"><a id="idp18163200"></a><p class="title"><strong>Equation 22.5. 
 
415
+           function:</p><div class="equation"><a id="idm269997367984"></a><p class="title"><strong>Equation 22.5. 
 
416
                A Standard String Hash Function
 
417
              </strong></p><div class="equation-contents"><span class="mathphrase">
 
418
                f<sub>1</sub>(s, m) = ∑ <sub>i =
 
419
@@ -575,7 +575,7 @@
 
420
            of a long DNA sequence (and so S = {'A', 'C', 'G',
 
421
            'T'}). In this case, scanning the entire string might be
 
422
            prohibitively expensive. A possible alternative might be to use
 
423
-           only the first k characters of the string, where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash function</p><div class="equation"><a id="idp18169344"></a><p class="title"><strong>Equation 22.6. 
 
424
+           only the first k characters of the string, where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash function</p><div class="equation"><a id="idm269997361840"></a><p class="title"><strong>Equation 22.6. 
 
425
                Only k String DNA Hash
 
426
              </strong></p><div class="equation-contents"><span class="mathphrase">
 
427
                f<sub>2</sub>(s, m) = ∑ <sub>i
 
428
@@ -606,12 +606,12 @@
 
429
              the container transforms the key into a non-negative integral
 
430
              using the hash functor (points B and C), and transforms the
 
431
              result into a position using the combining functor (points D
 
432
-             and E).</p><div class="figure"><a id="idp18191968"></a><p class="title"><strong>Figure 22.15. Insert hash sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" align="middle" alt="Insert hash sequence diagram" /></div></div></div><br class="figure-break" /><p>If <code class="classname">cc_hash_table</code>'s
 
433
+             and E).</p><div class="figure"><a id="idm269997339216"></a><p class="title"><strong>Figure 22.15. Insert hash sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" align="middle" alt="Insert hash sequence diagram" /></div></div></div><br class="figure-break" /><p>If <code class="classname">cc_hash_table</code>'s
 
434
              hash-functor, <code class="classname">Hash_Fn</code> is instantiated by <code class="classname">null_type</code> , then <code class="classname">Comb_Hash_Fn</code> is taken to be
 
435
              a ranged-hash function. The graphic below shows an <code class="function">insert</code> sequence
 
436
              diagram. The user inserts an element (point A), the container
 
437
              transforms the key into a position using the combining functor
 
438
-             (points B and C).</p><div class="figure"><a id="idp18199024"></a><p class="title"><strong>Figure 22.16. Insert hash sequence diagram with a null policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram2.png" align="middle" alt="Insert hash sequence diagram with a null policy" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.probe"></a>
 
439
+             (points B and C).</p><div class="figure"><a id="idm269997332160"></a><p class="title"><strong>Figure 22.16. Insert hash sequence diagram with a null policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram2.png" align="middle" alt="Insert hash sequence diagram with a null policy" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.probe"></a>
 
440
                Probing tables
 
441
              </h6></div></div></div><p><code class="classname">gp_hash_table</code> is parametrized by
 
442
              <code class="classname">Hash_Fn</code>, <code class="classname">Probe_Fn</code>,
 
443
@@ -634,7 +634,7 @@
 
444
                a linear probe and a quadratic probe function,
 
445
                respectively.</p></li></ol></div><p>
 
446
                The graphic below shows the relationships.
 
447
-             </p><div class="figure"><a id="idp18215840"></a><p class="title"><strong>Figure 22.17. Hash policy class diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_policy_cd.png" align="middle" alt="Hash policy class diagram" /></div></div></div><br class="figure-break" /></div></div></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.resize_policies"></a>Resize Policies</h6></div></div></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.general"></a>General</h6></div></div></div><p>Hash-tables, as opposed to trees, do not naturally grow or
 
448
+             </p><div class="figure"><a id="idm269997315408"></a><p class="title"><strong>Figure 22.17. Hash policy class diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_policy_cd.png" align="middle" alt="Hash policy class diagram" /></div></div></div><br class="figure-break" /></div></div></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.resize_policies"></a>Resize Policies</h6></div></div></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.general"></a>General</h6></div></div></div><p>Hash-tables, as opposed to trees, do not naturally grow or
 
449
            shrink. It is necessary to specify policies to determine how
 
450
            and when a hash table should change its size. Usually, resize
 
451
            policies can be decomposed into orthogonal policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A size policy indicating how a hash table
 
452
@@ -667,10 +667,10 @@
 
453
            and some load factor be denoted by Α. We would like to
 
454
            calculate the minimal length of k, such that if there were Α
 
455
            m elements in the hash table, a probe sequence of length k would
 
456
-           be found with probability at most 1/m.</p><div class="figure"><a id="idp18234944"></a><p class="title"><strong>Figure 22.18. Balls and bins</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_balls_and_bins.png" align="middle" alt="Balls and bins" /></div></div></div><br class="figure-break" /><p>Denote the probability that a probe sequence of length
 
457
+           be found with probability at most 1/m.</p><div class="figure"><a id="idm269997296368"></a><p class="title"><strong>Figure 22.18. Balls and bins</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_balls_and_bins.png" align="middle" alt="Balls and bins" /></div></div></div><br class="figure-break" /><p>Denote the probability that a probe sequence of length
 
458
            k appears in bin i by p<sub>i</sub>, the
 
459
            length of the probe sequence of bin i by
 
460
-           l<sub>i</sub>, and assume uniform distribution. Then</p><div class="equation"><a id="idp18240448"></a><p class="title"><strong>Equation 22.7. 
 
461
+           l<sub>i</sub>, and assume uniform distribution. Then</p><div class="equation"><a id="idm269997290864"></a><p class="title"><strong>Equation 22.7. 
 
462
                Probability of Probe Sequence of Length k
 
463
              </strong></p><div class="equation-contents"><span class="mathphrase">
 
464
                p<sub>1</sub> = 
 
465
@@ -684,7 +684,7 @@
 
466
            l<sub>i</sub> are negatively-dependent
 
467
            (<a class="xref" href="policy_data_structures.html#biblio.dubhashi98neg" title="Balls and bins: A study in negative dependence">[biblio.dubhashi98neg]</a>)
 
468
            . Let
 
469
-           I(.) denote the indicator function. Then</p><div class="equation"><a id="idp18247216"></a><p class="title"><strong>Equation 22.8. 
 
470
+           I(.) denote the indicator function. Then</p><div class="equation"><a id="idm269997284096"></a><p class="title"><strong>Equation 22.8. 
 
471
                Probability Probe Sequence in Some Bin
 
472
              </strong></p><div class="equation-contents"><span class="mathphrase">
 
473
                P( exists<sub>i</sub> l<sub>i</sub> ≥ k ) = 
 
474
@@ -723,7 +723,7 @@
 
475
              a resize is needed, and if so, what is the new size (points D
 
476
              to G); following the resize, it notifies the policy that a
 
477
              resize has completed (point H); finally, the element is
 
478
-             inserted, and the policy notified (point I).</p><div class="figure"><a id="idp18265728"></a><p class="title"><strong>Figure 22.19. Insert resize sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram1.png" align="middle" alt="Insert resize sequence diagram" /></div></div></div><br class="figure-break" /><p>In practice, a resize policy can be usually orthogonally
 
479
+             inserted, and the policy notified (point I).</p><div class="figure"><a id="idm269997265648"></a><p class="title"><strong>Figure 22.19. Insert resize sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram1.png" align="middle" alt="Insert resize sequence diagram" /></div></div></div><br class="figure-break" /><p>In practice, a resize policy can be usually orthogonally
 
480
              decomposed to a size policy and a trigger policy. Consequently,
 
481
              the library contains a single class for instantiating a resize
 
482
              policy: <code class="classname">hash_standard_resize_policy</code>
 
483
@@ -732,8 +732,8 @@
 
484
              both, and acts as a standard delegate (<a class="xref" href="policy_data_structures.html#biblio.gof" title="Design Patterns - Elements of Reusable Object-Oriented Software">[biblio.gof]</a>)
 
485
              to these policies.</p><p>The two graphics immediately below show sequence diagrams
 
486
              illustrating the interaction between the standard resize policy
 
487
-             and its trigger and size policies, respectively.</p><div class="figure"><a id="idp18273504"></a><p class="title"><strong>Figure 22.20. Standard resize policy trigger sequence
 
488
-               diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram2.png" align="middle" alt="Standard resize policy trigger sequence diagram" /></div></div></div><br class="figure-break" /><div class="figure"><a id="idp18277664"></a><p class="title"><strong>Figure 22.21. Standard resize policy size sequence
 
489
+             and its trigger and size policies, respectively.</p><div class="figure"><a id="idm269997257872"></a><p class="title"><strong>Figure 22.20. Standard resize policy trigger sequence
 
490
+               diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram2.png" align="middle" alt="Standard resize policy trigger sequence diagram" /></div></div></div><br class="figure-break" /><div class="figure"><a id="idm269997253712"></a><p class="title"><strong>Figure 22.21. Standard resize policy size sequence
 
491
                diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram3.png" align="middle" alt="Standard resize policy size sequence diagram" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.predefined"></a>Predefined Policies</h6></div></div></div><p>The library includes the following
 
492
              instantiations of size and trigger policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">hash_load_check_resize_trigger</code>
 
493
                implements a load check trigger policy.</p></li><li class="listitem"><p><code class="classname">cc_hash_max_collision_check_resize_trigger</code>
 
494
@@ -876,7 +876,7 @@
 
495
          each node, and maintains node invariants (see <a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>.) The first stores in
 
496
          each node the size of the sub-tree rooted at the node; the
 
497
          second stores at each node the maximal endpoint of the
 
498
-         intervals at the sub-tree rooted at the node.</p><div class="figure"><a id="idp18355696"></a><p class="title"><strong>Figure 22.22. Tree node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invariants.png" align="middle" alt="Tree node invariants" /></div></div></div><br class="figure-break" /><p>Supporting such trees is difficult for a number of
 
499
+         intervals at the sub-tree rooted at the node.</p><div class="figure"><a id="idm269997175616"></a><p class="title"><strong>Figure 22.22. Tree node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invariants.png" align="middle" alt="Tree node invariants" /></div></div></div><br class="figure-break" /><p>Supporting such trees is difficult for a number of
 
500
          reasons:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>There must be a way to specify what a node's metadata
 
501
            should be (if any).</p></li><li class="listitem"><p>Various operations can invalidate node
 
502
            invariants.  The graphic below shows how a right rotation,
 
503
@@ -890,7 +890,7 @@
 
504
            metadata.</p></li><li class="listitem"><p>It is not feasible to know in advance which methods trees
 
505
            can support. Besides the usual <code class="classname">find</code> method, the
 
506
            first tree can support a <code class="classname">find_by_order</code> method, while
 
507
-           the second can support an <code class="classname">overlaps</code> method.</p></li></ol></div><div class="figure"><a id="idp18365136"></a><p class="title"><strong>Figure 22.23. Tree node invalidation</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invalidations.png" align="middle" alt="Tree node invalidation" /></div></div></div><br class="figure-break" /><p>These problems are solved by a combination of two means:
 
508
+           the second can support an <code class="classname">overlaps</code> method.</p></li></ol></div><div class="figure"><a id="idm269997166176"></a><p class="title"><strong>Figure 22.23. Tree node invalidation</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invalidations.png" align="middle" alt="Tree node invalidation" /></div></div></div><br class="figure-break" /><p>These problems are solved by a combination of two means:
 
509
          node iterators, and template-template node updater
 
510
          parameters.</p><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.iterators"></a>Node Iterators</h6></div></div></div><p>Each tree-based container defines two additional iterator
 
511
            types, <code class="classname">const_node_iterator</code>
 
512
@@ -919,7 +919,7 @@
 
513
            <code class="classname">node_update</code> class, and publicly subclasses
 
514
            <code class="classname">node_update</code>. The graphic below shows this
 
515
            scheme, as well as some predefined policies (which are explained
 
516
-           below).</p><div class="figure"><a id="idp18378304"></a><p class="title"><strong>Figure 22.24. A tree and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_updator_policy_cd.png" align="middle" alt="A tree and its update policy" /></div></div></div><br class="figure-break" /><p><code class="classname">node_update</code> (an instantiation of
 
517
+           below).</p><div class="figure"><a id="idm269997153072"></a><p class="title"><strong>Figure 22.24. A tree and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_updator_policy_cd.png" align="middle" alt="A tree and its update policy" /></div></div></div><br class="figure-break" /><p><code class="classname">node_update</code> (an instantiation of
 
518
            <code class="classname">Node_Update</code>) must define <code class="classname">metadata_type</code> as
 
519
            the type of metadata it requires. For order statistics,
 
520
            e.g., <code class="classname">metadata_type</code> might be <code class="classname">size_t</code>.
 
521
@@ -938,7 +938,7 @@
 
522
            <code class="classname">nd_it</code>. For example, say node x in the
 
523
            graphic below label A has an invalid invariant, but its' children,
 
524
            y and z have valid invariants. After the invocation, all three
 
525
-           nodes should have valid invariants, as in label B.</p><div class="figure"><a id="idp18389968"></a><p class="title"><strong>Figure 22.25. Restoring node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_restoring_node_invariants.png" align="middle" alt="Restoring node invariants" /></div></div></div><br class="figure-break" /><p>When a tree operation might invalidate some node invariant,
 
526
+           nodes should have valid invariants, as in label B.</p><div class="figure"><a id="idm269997141408"></a><p class="title"><strong>Figure 22.25. Restoring node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_restoring_node_invariants.png" align="middle" alt="Restoring node invariants" /></div></div></div><br class="figure-break" /><p>When a tree operation might invalidate some node invariant,
 
527
            it invokes this method in its <code class="classname">node_update</code> base to
 
528
            restore the invariant. For example, the graphic below shows
 
529
            an <code class="function">insert</code> operation (point A); the tree performs some
 
530
@@ -946,7 +946,7 @@
 
531
            C, and D). (It is well known that any <code class="function">insert</code>,
 
532
            <code class="function">erase</code>, <code class="function">split</code> or <code class="function">join</code>, can restore
 
533
            all node invariants by a small number of node invariant updates (<a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>)
 
534
-           .</p><div class="figure"><a id="idp18398144"></a><p class="title"><strong>Figure 22.26. Insert update sequence</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_update_seq_diagram.png" align="middle" alt="Insert update sequence" /></div></div></div><br class="figure-break" /><p>To complete the description of the scheme, three questions
 
535
+           .</p><div class="figure"><a id="idm269997133232"></a><p class="title"><strong>Figure 22.26. Insert update sequence</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_update_seq_diagram.png" align="middle" alt="Insert update sequence" /></div></div></div><br class="figure-break" /><p>To complete the description of the scheme, three questions
 
536
            need to be answered:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>How can a tree which supports order statistics define a
 
537
              method such as <code class="classname">find_by_order</code>?</p></li><li class="listitem"><p>How can the node updater base access methods of the
 
538
              tree?</p></li><li class="listitem"><p>How can the following cyclic dependency be resolved?
 
539
@@ -988,7 +988,7 @@
 
540
              node's metadata (this is halting reducible). In the graphic
 
541
              below, assume the shaded node is inserted. The tree would have
 
542
              to traverse the useless path shown to the root, applying
 
543
-             redundant updates all the way.</p></li></ol></div><div class="figure"><a id="idp18420400"></a><p class="title"><strong>Figure 22.27. Useless update path</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_rationale_null_node_updator.png" align="middle" alt="Useless update path" /></div></div></div><br class="figure-break" /><p>A null policy class, <code class="classname">null_node_update</code>
 
544
+             redundant updates all the way.</p></li></ol></div><div class="figure"><a id="idm269997110976"></a><p class="title"><strong>Figure 22.27. Useless update path</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_rationale_null_node_updator.png" align="middle" alt="Useless update path" /></div></div></div><br class="figure-break" /><p>A null policy class, <code class="classname">null_node_update</code>
 
545
            solves both these problems. The tree detects that node
 
546
            invariants are irrelevant, and defines all accordingly.</p></div></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.details.split"></a>Split and Join</h6></div></div></div><p>Tree-based containers support split and join methods.
 
547
          It is possible to split a tree so that it passes
 
548
@@ -1071,7 +1071,7 @@
 
549
          sub-tree with leafs "a" and "as". The maximal common prefix is
 
550
          "a". The internal node contains, consequently, to const
 
551
          iterators, one pointing to <code class="varname">'a'</code>, and the other to
 
552
-         <code class="varname">'s'</code>.</p><div class="figure"><a id="idp18465088"></a><p class="title"><strong>Figure 22.28. A PATRICIA trie</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_pat_trie.png" align="middle" alt="A PATRICIA trie" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.node"></a>Node Invariants</h6></div></div></div><p>Trie-based containers support node invariants, as do
 
553
+         <code class="varname">'s'</code>.</p><div class="figure"><a id="idm269997066288"></a><p class="title"><strong>Figure 22.28. A PATRICIA trie</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_pat_trie.png" align="middle" alt="A PATRICIA trie" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.node"></a>Node Invariants</h6></div></div></div><p>Trie-based containers support node invariants, as do
 
554
          tree-based containers. There are two minor
 
555
          differences, though, which, unfortunately, thwart sharing them
 
556
          sharing the same node-updating policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A trie's <code class="classname">Node_Update</code> template-template
 
557
@@ -1080,7 +1080,7 @@
 
558
            parametrized by <code class="classname">Cmp_Fn</code>.</p></li><li class="listitem"><p>Tree-based containers store values in all nodes, while
 
559
            trie-based containers (at least in this implementation) store
 
560
            values in leafs.</p></li></ol></div><p>The graphic below shows the scheme, as well as some predefined
 
561
-         policies (which are explained below).</p><div class="figure"><a id="idp18475584"></a><p class="title"><strong>Figure 22.29. A trie and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_trie_node_updator_policy_cd.png" align="middle" alt="A trie and its update policy" /></div></div></div><br class="figure-break" /><p>This library offers the following pre-defined trie node
 
562
+         policies (which are explained below).</p><div class="figure"><a id="idm269997055856"></a><p class="title"><strong>Figure 22.29. A trie and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_trie_node_updator_policy_cd.png" align="middle" alt="A trie and its update policy" /></div></div></div><br class="figure-break" /><p>This library offers the following pre-defined trie node
 
563
          updating policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
 
564
                <code class="classname">trie_order_statistics_node_update</code>
 
565
                supports order statistics.
 
566
@@ -1128,7 +1128,7 @@
 
567
          simple list of integer keys. If we search for the integer 6, we
 
568
          are paying an overhead: the link with key 6 is only the fifth
 
569
          link; if it were the first link, it could be accessed
 
570
-         faster.</p><div class="figure"><a id="idp18506160"></a><p class="title"><strong>Figure 22.30. A simple list</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_simple_list.png" align="middle" alt="A simple list" /></div></div></div><br class="figure-break" /><p>List-update algorithms reorder lists as elements are
 
571
+         faster.</p><div class="figure"><a id="idm269997025344"></a><p class="title"><strong>Figure 22.30. A simple list</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_simple_list.png" align="middle" alt="A simple list" /></div></div></div><br class="figure-break" /><p>List-update algorithms reorder lists as elements are
 
572
          accessed. They try to determine, by the access history, which
 
573
          keys to move to the front of the list. Some of these algorithms
 
574
          require adding some metadata alongside each entry.</p><p>For example, in the graphic below label A shows the counter
 
575
@@ -1138,7 +1138,7 @@
 
576
          predetermined value, say 10, as shown in label C, the count is set
 
577
          to 0 and the node is moved to the front of the list, as in label
 
578
          D.
 
579
-         </p><div class="figure"><a id="idp18511744"></a><p class="title"><strong>Figure 22.31. The counter algorithm</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_list_update.png" align="middle" alt="The counter algorithm" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.policies"></a>Policies</h6></div></div></div><p>this library allows instantiating lists with policies
 
580
+         </p><div class="figure"><a id="idm269997019760"></a><p class="title"><strong>Figure 22.31. The counter algorithm</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_list_update.png" align="middle" alt="The counter algorithm" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.policies"></a>Policies</h6></div></div></div><p>this library allows instantiating lists with policies
 
581
          implementing any algorithm moving nodes to the front of the
 
582
          list (policies implementing algorithms interchanging nodes are
 
583
          unsupported).</p><p>Associative containers based on lists are parametrized by a
 
584
@@ -1310,7 +1310,7 @@
 
585
          sequence; the second uses a tree (or forest of trees), which is
 
586
          typically less structured than an associative container's tree;
 
587
          the third simply uses an associative container. These are
 
588
-         shown in the graphic below, in labels A1 and A2, label B, and label C.</p><div class="figure"><a id="idp18575568"></a><p class="title"><strong>Figure 22.32. Underlying Priority-Queue Data-Structures.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_different_underlying_dss.png" align="middle" alt="Underlying Priority-Queue Data-Structures." /></div></div></div><br class="figure-break" /><p>Roughly speaking, any value that is both pushed and popped
 
589
+         shown in the graphic below, in labels A1 and A2, label B, and label C.</p><div class="figure"><a id="idm269996955920"></a><p class="title"><strong>Figure 22.32. Underlying Priority-Queue Data-Structures.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_different_underlying_dss.png" align="middle" alt="Underlying Priority-Queue Data-Structures." /></div></div></div><br class="figure-break" /><p>Roughly speaking, any value that is both pushed and popped
 
590
          from a priority queue must incur a logarithmic expense (in the
 
591
          amortized sense). Any priority queue implementation that would
 
592
          avoid this, would violate known bounds on comparison-based
 
593
@@ -1390,7 +1390,7 @@
 
594
          container <code class="classname">Cntnr</code>, the tag of the underlying
 
595
          data structure can be found via <code class="classname">typename 
 
596
          Cntnr::container_category</code>; this is one of the possible tags shown in the graphic below.
 
597
-         </p><div class="figure"><a id="idp18610544"></a><p class="title"><strong>Figure 22.33. Priority-Queue Data-Structure Tags.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" align="middle" alt="Priority-Queue Data-Structure Tags." /></div></div></div><br class="figure-break" /><p>Additionally, a traits mechanism can be used to query a
 
598
+         </p><div class="figure"><a id="idm269996920880"></a><p class="title"><strong>Figure 22.33. Priority-Queue Data-Structure Tags.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" align="middle" alt="Priority-Queue Data-Structure Tags." /></div></div></div><br class="figure-break" /><p>Additionally, a traits mechanism can be used to query a
 
599
          container type for its attributes. Given any container
 
600
          <code class="classname">Cntnr</code>, then </p><pre class="programlisting">__gnu_pbds::container_traits&lt;Cntnr&gt;</pre><p>
 
601
          is a traits class identifying the properties of the
 
602
Index: libstdc++-v3/doc/html/manual/using.html
 
603
===================================================================
 
604
--- a/src/libstdc++-v3/doc/html/manual/using.html       (.../tags/gcc_4_8_2_release)
 
605
+++ b/src/libstdc++-v3/doc/html/manual/using.html       (.../branches/gcc-4_8-branch)
 
606
@@ -1,8 +1,8 @@
 
607
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
608
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="make.html" title="Make" /><link rel="next" href="using_headers.html" title="Headers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
 
609
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="make.html" title="Make" /><link rel="next" href="using_headers.html" title="Headers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
 
610
   Introduction
 
611
   
 
612
-</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
 
613
+</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
 
614
       The set of features available in the GNU C++ library is shaped
 
615
       by
 
616
       several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html" target="_top">GCC
 
617
@@ -10,5 +10,5 @@
 
618
       enumerated and detailed in the table below.
 
619
     </p><p>
 
620
       By default, <span class="command"><strong>g++</strong></span> is equivalent to  <span class="command"><strong>g++ -std=gnu++98</strong></span>. The standard library also defaults to this dialect.
 
621
-    </p><div class="table"><a id="idp13051936"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++11</code></td><td align="left">Use the 2011 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++11</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++11 &lt;thread&gt;, &lt;future&gt;,
 
622
+    </p><div class="table"><a id="idm270002481088"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++11</code></td><td align="left">Use the 2011 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++11</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++11 &lt;thread&gt;, &lt;future&gt;,
 
623
       &lt;mutex&gt;, or &lt;condition_variable&gt;.</td></tr><tr><td align="left"><code class="literal">-fopenmp</code></td><td align="left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Make </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Headers</td></tr></table></div></body></html>
 
624
\ No newline at end of file
 
625
Index: libstdc++-v3/doc/html/manual/profile_mode_impl.html
 
626
===================================================================
 
627
--- a/src/libstdc++-v3/doc/html/manual/profile_mode_impl.html   (.../tags/gcc_4_8_2_release)
 
628
+++ b/src/libstdc++-v3/doc/html/manual/profile_mode_impl.html   (.../branches/gcc-4_8-branch)
 
629
@@ -1,5 +1,5 @@
 
630
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
631
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_cost_model.html" title="Empirical Cost Model" /><link rel="next" href="profile_mode_devel.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="profile_mode_cost_model.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_devel.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.implementation"></a>Implementation Issues</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"></a>Stack Traces</h3></div></div></div><p>
 
632
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_cost_model.html" title="Empirical Cost Model" /><link rel="next" href="profile_mode_devel.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="profile_mode_cost_model.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_devel.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.implementation"></a>Implementation Issues</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"></a>Stack Traces</h3></div></div></div><p>
 
633
   Accurate stack traces are needed during profiling since we group events by
 
634
   call context and dynamic instance.  Without accurate traces, diagnostics
 
635
   may be hard to interpret.  For instance, when giving advice to the user
 
636
Index: libstdc++-v3/doc/html/manual/ext_containers.html
 
637
===================================================================
 
638
--- a/src/libstdc++-v3/doc/html/manual/ext_containers.html      (.../tags/gcc_4_8_2_release)
 
639
+++ b/src/libstdc++-v3/doc/html/manual/ext_containers.html      (.../branches/gcc-4_8-branch)
 
640
@@ -1,8 +1,8 @@
 
641
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
642
-<!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. HP/SGI Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="policy_data_structures_ack.html" title="Acknowledgments" /><link rel="next" href="ext_sgi.html" title="Deprecated" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. HP/SGI Extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_ack.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
643
+<!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. HP/SGI Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="policy_data_structures_ack.html" title="Acknowledgments" /><link rel="next" href="ext_sgi.html" title="Deprecated" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. HP/SGI Extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_ack.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
644
   Extensions
 
645
   
 
646
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_sgi.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"></a>Chapter 23. HP/SGI Extensions</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="ext_sgi.html">Deprecated</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.sgi"></a>Backwards Compatibility</h2></div></div></div><p>A few extensions and nods to backwards-compatibility have
 
647
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_sgi.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"></a>Chapter 23. HP/SGI Extensions</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="ext_sgi.html">Deprecated</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.sgi"></a>Backwards Compatibility</h2></div></div></div><p>A few extensions and nods to backwards-compatibility have
 
648
     been made with containers.  Those dealing with older SGI-style
 
649
     allocators are dealt with elsewhere.  The remaining ones all deal
 
650
     with bits:
 
651
Index: libstdc++-v3/doc/html/manual/ext_concurrency_use.html
 
652
===================================================================
 
653
--- a/src/libstdc++-v3/doc/html/manual/ext_concurrency_use.html (.../tags/gcc_4_8_2_release)
 
654
+++ b/src/libstdc++-v3/doc/html/manual/ext_concurrency_use.html (.../branches/gcc-4_8-branch)
 
655
@@ -1,5 +1,5 @@
 
656
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
657
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="ext_concurrency_impl.html" title="Implementation" /><link rel="next" href="appendix.html" title="Part IV.  Appendices" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Use</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency_impl.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="appendix.html">Next</a></td></tr></table><hr /></div><div class="section"><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:
 
658
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="ext_concurrency_impl.html" title="Implementation" /><link rel="next" href="appendix.html" title="Part IV.  Appendices" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Use</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency_impl.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="appendix.html">Next</a></td></tr></table><hr /></div><div class="section"><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:
 
659
 </p><pre class="programlisting">
 
660
 #include &lt;ext/concurrence.h&gt;
 
661
 
 
662
Index: libstdc++-v3/doc/html/manual/ext_io.html
 
663
===================================================================
 
664
--- a/src/libstdc++-v3/doc/html/manual/ext_io.html      (.../tags/gcc_4_8_2_release)
 
665
+++ b/src/libstdc++-v3/doc/html/manual/ext_io.html      (.../branches/gcc-4_8-branch)
 
666
@@ -1,8 +1,8 @@
 
667
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
668
-<!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. Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_iterators.html" title="Chapter 27. Iterators" /><link rel="next" href="ext_demangling.html" title="Chapter 29. Demangling" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
669
+<!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. Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_iterators.html" title="Chapter 27. Iterators" /><link rel="next" href="ext_demangling.html" title="Chapter 29. Demangling" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
670
   Extensions
 
671
   
 
672
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"></a>Chapter 28. Input and Output</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
 
673
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"></a>Chapter 28. Input and Output</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
 
674
     Extensions allowing <code class="code">filebuf</code>s to be constructed from
 
675
     "C" types like  FILE*s and file descriptors.
 
676
   </p><div class="section"><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
 
677
Index: libstdc++-v3/doc/html/manual/termination.html
 
678
===================================================================
 
679
--- a/src/libstdc++-v3/doc/html/manual/termination.html (.../tags/gcc_4_8_2_release)
 
680
+++ b/src/libstdc++-v3/doc/html/manual/termination.html (.../branches/gcc-4_8-branch)
 
681
@@ -1,5 +1,5 @@
 
682
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
683
-<!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>Termination</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="dynamic_memory.html" title="Dynamic Memory" /><link rel="next" href="diagnostics.html" title="Chapter 5.  Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Termination</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
 
684
+<!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>Termination</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="dynamic_memory.html" title="Dynamic Memory" /><link rel="next" href="diagnostics.html" title="Chapter 5.  Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Termination</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
 
685
   Support
 
686
   
 
687
 </th><td width="20%" align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.termination"></a>Termination</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.handlers"></a>Termination Handlers</h3></div></div></div><p>
 
688
Index: libstdc++-v3/doc/html/manual/using_macros.html
 
689
===================================================================
 
690
--- a/src/libstdc++-v3/doc/html/manual/using_macros.html        (.../tags/gcc_4_8_2_release)
 
691
+++ b/src/libstdc++-v3/doc/html/manual/using_macros.html        (.../branches/gcc-4_8-branch)
 
692
@@ -1,5 +1,5 @@
 
693
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
694
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_headers.html" title="Headers" /><link rel="next" href="using_namespaces.html" title="Namespaces" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Macros</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.macros"></a>Macros</h2></div></div></div><p>
 
695
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_headers.html" title="Headers" /><link rel="next" href="using_namespaces.html" title="Namespaces" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Macros</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.macros"></a>Macros</h2></div></div></div><p>
 
696
      All library macros begin with <code class="code">_GLIBCXX_</code>.
 
697
    </p><p>
 
698
      Furthermore, all pre-processor macros, switches, and
 
699
Index: libstdc++-v3/doc/html/manual/concurrency.html
 
700
===================================================================
 
701
--- a/src/libstdc++-v3/doc/html/manual/concurrency.html (.../tags/gcc_4_8_2_release)
 
702
+++ b/src/libstdc++-v3/doc/html/manual/concurrency.html (.../branches/gcc-4_8-branch)
 
703
@@ -1,13 +1,13 @@
 
704
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
705
-<!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.  Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library, mutex, thread, future, condition_variable" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="atomics.html" title="Chapter 14.  Atomics" /><link rel="next" href="extensions.html" title="Part III.  Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. 
 
706
+<!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.  Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library, mutex, thread, future, condition_variable" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="atomics.html" title="Chapter 14.  Atomics" /><link rel="next" href="extensions.html" title="Part III.  Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. 
 
707
   Concurrency
 
708
   
 
709
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
710
     Standard Contents
 
711
   </th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"></a>Chapter 15. 
 
712
   Concurrency
 
713
-  <a id="idp16404464" class="indexterm"></a>
 
714
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
 
715
+  <a id="idm269999126816" class="indexterm"></a>
 
716
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
 
717
   Facilities for concurrent operation, and control thereof.
 
718
 </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.concurrency.api"></a>API Reference</h2></div></div></div><p>
 
719
     All items are declared in one of four standard header files.
 
720
Index: libstdc++-v3/doc/html/manual/ext_utilities.html
 
721
===================================================================
 
722
--- a/src/libstdc++-v3/doc/html/manual/ext_utilities.html       (.../tags/gcc_4_8_2_release)
 
723
+++ b/src/libstdc++-v3/doc/html/manual/ext_utilities.html       (.../branches/gcc-4_8-branch)
 
724
@@ -1,5 +1,5 @@
 
725
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
726
-<!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. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_sgi.html" title="Deprecated" /><link rel="next" href="ext_algorithms.html" title="Chapter 25. Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_sgi.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
727
+<!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. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_sgi.html" title="Deprecated" /><link rel="next" href="ext_algorithms.html" title="Chapter 25. Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_sgi.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
728
   Extensions
 
729
   
 
730
 </th><td width="20%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"></a>Chapter 24. Utilities</h2></div></div></div><p>
 
731
Index: libstdc++-v3/doc/html/manual/policy_data_structures.html
 
732
===================================================================
 
733
--- a/src/libstdc++-v3/doc/html/manual/policy_data_structures.html      (.../tags/gcc_4_8_2_release)
 
734
+++ b/src/libstdc++-v3/doc/html/manual/policy_data_structures.html      (.../branches/gcc-4_8-branch)
 
735
@@ -1,8 +1,8 @@
 
736
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
737
-<!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. Policy-Based Data Structures</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bitmap_allocator_impl.html" title="Implementation" /><link rel="next" href="policy_data_structures_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Policy-Based Data Structures</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator_impl.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
738
+<!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. Policy-Based Data Structures</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bitmap_allocator_impl.html" title="Implementation" /><link rel="next" href="policy_data_structures_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Policy-Based Data Structures</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator_impl.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
739
   Extensions
 
740
   
 
741
-</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.pbds"></a>Chapter 22. Policy-Based Data Structures</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
 
742
+</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.pbds"></a>Chapter 22. Policy-Based Data Structures</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
 
743
            Configuring via Template Parameters
 
744
          </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
 
745
            Querying Container Attributes
 
746
@@ -248,7 +248,7 @@
 
747
                these invariants, one must supply some policy that is aware
 
748
                of these changes.  Without this, it would be better to use a
 
749
                linked list (in itself very efficient for these purposes).
 
750
-             </p></li></ol></div><div class="figure"><a id="idp17613296"></a><p class="title"><strong>Figure 22.1. Node Invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_node_invariants.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.underlying"></a>Underlying Data Structures</h5></div></div></div><p>
 
751
+             </p></li></ol></div><div class="figure"><a id="idm269997917584"></a><p class="title"><strong>Figure 22.1. Node Invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_node_invariants.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.underlying"></a>Underlying Data Structures</h5></div></div></div><p>
 
752
            The standard C++ library contains associative containers based on
 
753
            red-black trees and collision-chaining hash tables. These are
 
754
            very useful, but they are not ideal for all types of
 
755
@@ -256,7 +256,7 @@
 
756
          </p><p>
 
757
            The figure below shows the different underlying data structures
 
758
            currently supported in this library.
 
759
-         </p><div class="figure"><a id="idp17619952"></a><p class="title"><strong>Figure 22.2. Underlying Associative Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_1.png" align="middle" alt="Underlying Associative Data Structures" /></div></div></div><br class="figure-break" /><p>
 
760
+         </p><div class="figure"><a id="idm269997910864"></a><p class="title"><strong>Figure 22.2. Underlying Associative Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_1.png" align="middle" alt="Underlying Associative Data Structures" /></div></div></div><br class="figure-break" /><p>
 
761
            A shows a collision-chaining hash-table, B shows a probing
 
762
            hash-table, C shows a red-black tree, D shows a splay tree, E shows
 
763
            a tree based on an ordered vector(implicit in the order of the
 
764
@@ -375,7 +375,7 @@
 
765
              no guarantee that the elements traversed will coincide with the
 
766
              <span class="emphasis"><em>logical</em></span> elements between 1 and 5, as in
 
767
              label B.
 
768
-           </p><div class="figure"><a id="idp17651648"></a><p class="title"><strong>Figure 22.3. Range Iteration in Different Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_1.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /><p>
 
769
+           </p><div class="figure"><a id="idm269997879168"></a><p class="title"><strong>Figure 22.3. Range Iteration in Different Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_1.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /><p>
 
770
              In our opinion, this problem is not caused just because
 
771
              red-black trees are order preserving while
 
772
              collision-chaining hash tables are (generally) not - it
 
773
@@ -426,7 +426,7 @@
 
774
              list, as in the graphic below, label B.  Here the iterators are as
 
775
              light as can be, but the hash-table's operations are more
 
776
              complicated.
 
777
-           </p><div class="figure"><a id="idp17666528"></a><p class="title"><strong>Figure 22.4. Point Iteration in Hash Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_2.png" align="middle" alt="Point Iteration in Hash Data Structures" /></div></div></div><br class="figure-break" /><p>
 
778
+           </p><div class="figure"><a id="idm269997864256"></a><p class="title"><strong>Figure 22.4. Point Iteration in Hash Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_2.png" align="middle" alt="Point Iteration in Hash Data Structures" /></div></div></div><br class="figure-break" /><p>
 
779
              It should be noted that containers based on collision-chaining
 
780
              hash-tables are not the only ones with this type of behavior;
 
781
              many other self-organizing data structures display it as well.
 
782
@@ -442,7 +442,7 @@
 
783
              container. The graphic below shows three cases: A1 and A2 show
 
784
              a red-black tree; B1 and B2 show a probing hash-table; C1 and C2
 
785
              show a collision-chaining hash table.
 
786
-           </p><div class="figure"><a id="idp17675840"></a><p class="title"><strong>Figure 22.5. Effect of erase in different underlying data structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_guarantee_erase.png" align="middle" alt="Effect of erase in different underlying data structures" /></div></div></div><br class="figure-break" /><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
 
787
+           </p><div class="figure"><a id="idm269997855056"></a><p class="title"><strong>Figure 22.5. Effect of erase in different underlying data structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_guarantee_erase.png" align="middle" alt="Effect of erase in different underlying data structures" /></div></div></div><br class="figure-break" /><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
 
788
                  Erasing 5 from A1 yields A2. Clearly, an iterator to 3 can
 
789
                  be de-referenced and incremented. The sequence of iterators
 
790
                  changed, but in a way that is well-defined by the interface.
 
791
@@ -678,7 +678,7 @@
 
792
            typically less structured than an associative container's tree;
 
793
            the third simply uses an associative container. These are
 
794
            shown in the figure below with labels A1 and A2, B, and C.
 
795
-         </p><div class="figure"><a id="idp17743424"></a><p class="title"><strong>Figure 22.6. Underlying Priority Queue Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_2.png" align="middle" alt="Underlying Priority Queue Data Structures" /></div></div></div><br class="figure-break" /><p>
 
796
+         </p><div class="figure"><a id="idm269997787392"></a><p class="title"><strong>Figure 22.6. Underlying Priority Queue Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_2.png" align="middle" alt="Underlying Priority Queue Data Structures" /></div></div></div><br class="figure-break" /><p>
 
797
            No single implementation can completely replace any of the
 
798
            others. Some have better <code class="function">push</code>
 
799
            and <code class="function">pop</code> amortized performance, some have
 
800
@@ -1098,7 +1098,7 @@
 
801
          </span>. </span><span class="publisher"><span class="publishername">
 
802
          Proceedings of International Conference on Very Large Data Bases
 
803
        . </span></span></p></div><div class="biblioentry"><a id="biblio.maverik_lowerbounds"></a><p>[biblio.maverik_lowerbounds] <span class="title"><em>
 
804
-       <a class="link" href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps" target="_top">
 
805
+       <a class="link" href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps/" target="_top">
 
806
          Deamortization - Part 2: Binomial Heaps
 
807
        </a>
 
808
       </em>. </span><span class="date">
 
809
@@ -1190,7 +1190,7 @@
 
810
            </span>. </span><span class="publisher"><span class="publishername">
 
811
          Addison-Wesley Publishing Company
 
812
        . </span></span></p></div><div class="biblioentry"><a id="biblio.nelson96stlpq"></a><p>[biblio.nelson96stlpq] <span class="title"><em>
 
813
-       <a class="link" href="http://www.dogma.net/markn/articles/pq_stl/priority.htm" target="_top">Priority Queues and the STL
 
814
+       <a class="link" href="http://marknelson.us/1996/01/01/priority-queues/" target="_top">Priority Queues and the STL
 
815
        </a>
 
816
       </em>. </span><span class="date">
 
817
        January 1996
 
818
Index: libstdc++-v3/doc/html/manual/ext_iterators.html
 
819
===================================================================
 
820
--- a/src/libstdc++-v3/doc/html/manual/ext_iterators.html       (.../tags/gcc_4_8_2_release)
 
821
+++ b/src/libstdc++-v3/doc/html/manual/ext_iterators.html       (.../branches/gcc-4_8-branch)
 
822
@@ -1,5 +1,5 @@
 
823
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
824
-<!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. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_numerics.html" title="Chapter 26. Numerics" /><link rel="next" href="ext_io.html" title="Chapter 28. Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Iterators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
825
+<!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. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_numerics.html" title="Chapter 26. Numerics" /><link rel="next" href="ext_io.html" title="Chapter 28. Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Iterators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
826
   Extensions
 
827
   
 
828
 </th><td width="20%" align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"></a>Chapter 27. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
 
829
Index: libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html
 
830
===================================================================
 
831
--- a/src/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html       (.../tags/gcc_4_8_2_release)
 
832
+++ b/src/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html       (.../branches/gcc-4_8-branch)
 
833
@@ -1,5 +1,5 @@
 
834
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
835
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="prev" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="next" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 21. The bitmap_allocator</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.bitmap.impl"></a>Implementation</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.free_list_store"></a>Free List Store</h3></div></div></div><p>
 
836
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="prev" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="next" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 21. The bitmap_allocator</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.bitmap.impl"></a>Implementation</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.free_list_store"></a>Free List Store</h3></div></div></div><p>
 
837
     The Free List Store (referred to as FLS for the remaining part of this
 
838
     document) is the Global memory pool that is shared by all instances of
 
839
     the bitmapped allocator instantiated for any type. This maintains a
 
840
@@ -75,7 +75,7 @@
 
841
   </p><p>
 
842
     Consider a block of size 64 ints. In memory, it would look like this:
 
843
     (assume a 32-bit system where, size_t is a 32-bit entity).
 
844
-  </p><div class="table"><a id="idp17500848"></a><p class="title"><strong>Table 21.1. Bitmap Allocator Memory Map</strong></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
845
+  </p><div class="table"><a id="idm269998030352"></a><p class="title"><strong>Table 21.1. Bitmap Allocator Memory Map</strong></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
846
     The first Column(268) represents the size of the Block in bytes as
 
847
     seen by the Bitmap Allocator. Internally, a global free list is
 
848
     used to keep track of the free blocks used and given back by the
 
849
Index: libstdc++-v3/doc/html/manual/appendix_contributing.html
 
850
===================================================================
 
851
--- a/src/libstdc++-v3/doc/html/manual/appendix_contributing.html       (.../tags/gcc_4_8_2_release)
 
852
+++ b/src/libstdc++-v3/doc/html/manual/appendix_contributing.html       (.../branches/gcc-4_8-branch)
 
853
@@ -1,13 +1,13 @@
 
854
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
855
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix.html" title="Part IV.  Appendices" /><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. 
 
856
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix.html" title="Part IV.  Appendices" /><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. 
 
857
   Contributing
 
858
   
 
859
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix.html">Prev</a> </td><th width="60%" align="center">Part IV. 
 
860
   Appendices
 
861
 </th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.contrib"></a>
 
862
   Contributing
 
863
-  <a id="idp21875168" class="indexterm"></a>
 
864
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
 
865
+  <a id="idm269993657472" class="indexterm"></a>
 
866
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
 
867
   The GNU C++ Library follows an open development model. Active
 
868
   contributors are assigned maintainer-ship responsibility, and given
 
869
   write access to the source repository. First time contributors
 
870
@@ -36,7 +36,7 @@
 
871
           for this group is quite useful.
 
872
       </p></li><li class="listitem"><p>
 
873
          Peruse
 
874
-         the <a class="link" href="http://www.gnu.org/prep/standards" target="_top">GNU
 
875
+         the <a class="link" href="http://www.gnu.org/prep/standards/" target="_top">GNU
 
876
          Coding Standards</a>, and chuckle when you hit the part
 
877
          about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>.
 
878
        </p></li><li class="listitem"><p>
 
879
Index: libstdc++-v3/doc/html/manual/parallel_mode_test.html
 
880
===================================================================
 
881
--- a/src/libstdc++-v3/doc/html/manual/parallel_mode_test.html  (.../tags/gcc_4_8_2_release)
 
882
+++ b/src/libstdc++-v3/doc/html/manual/parallel_mode_test.html  (.../branches/gcc-4_8-branch)
 
883
@@ -1,5 +1,5 @@
 
884
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
885
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode_design.html" title="Design" /><link rel="next" href="profile_mode.html" title="Chapter 19. Profile Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_design.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
886
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode_design.html" title="Design" /><link rel="next" href="profile_mode.html" title="Chapter 19. Profile Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_design.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
887
     Both the normal conformance and regression tests and the
 
888
     supplemental performance tests work.
 
889
   </p><p>
 
890
Index: libstdc++-v3/doc/html/manual/profile_mode.html
 
891
===================================================================
 
892
--- a/src/libstdc++-v3/doc/html/manual/profile_mode.html        (.../tags/gcc_4_8_2_release)
 
893
+++ b/src/libstdc++-v3/doc/html/manual/profile_mode.html        (.../branches/gcc-4_8-branch)
 
894
@@ -1,8 +1,8 @@
 
895
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
896
-<!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. Profile Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="parallel_mode_test.html" title="Testing" /><link rel="next" href="profile_mode_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Profile Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_test.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
897
+<!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. Profile Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="parallel_mode_test.html" title="Testing" /><link rel="next" href="profile_mode_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Profile Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_test.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
898
   Extensions
 
899
   
 
900
-</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_design.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"></a>Chapter 19. Profile Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_api.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="profile_mode_cost_model.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_devel.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_devel.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="profile_mode_devel.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></div><div class="section"><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>
 
901
+</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_design.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"></a>Chapter 19. Profile Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_api.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="profile_mode_cost_model.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_devel.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_devel.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="profile_mode_devel.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></div><div class="section"><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>
 
902
   <span class="emphasis"><em>Goal: </em></span>Give performance improvement advice based on
 
903
   recognition of suboptimal usage patterns of the standard library.
 
904
   </p><p>
 
905
@@ -137,7 +137,7 @@
 
906
    call context.
 
907
    (Environment variable not supported.)
 
908
    </p></li></ul></div><p>
 
909
-  </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="idp17395456"></a><p><span class="citetitle"><em class="citetitle">
 
910
+  </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="idm269998135936"></a><p><span class="citetitle"><em class="citetitle">
 
911
       Perflint: A Context Sensitive Performance Advisor for C++ Programs
 
912
     </em>. </span><span class="author"><span class="firstname">Lixia</span> <span class="surname">Liu</span>. </span><span class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span>. </span><span class="copyright">Copyright © 2009 . </span><span class="publisher"><span class="publishername">
 
913
        Proceedings of the 2009 International Symposium on Code Generation
 
914
Index: libstdc++-v3/doc/html/manual/stringstreams.html
 
915
===================================================================
 
916
--- a/src/libstdc++-v3/doc/html/manual/stringstreams.html       (.../tags/gcc_4_8_2_release)
 
917
+++ b/src/libstdc++-v3/doc/html/manual/stringstreams.html       (.../branches/gcc-4_8-branch)
 
918
@@ -1,5 +1,5 @@
 
919
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
920
-<!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>Memory Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="streambufs.html" title="Stream Buffers" /><link rel="next" href="fstreams.html" title="File Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
921
+<!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>Memory Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="streambufs.html" title="Stream Buffers" /><link rel="next" href="fstreams.html" title="File Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
922
   Input and Output
 
923
   
 
924
 </th><td width="20%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.memstreams"></a>Memory Based Streams</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.memstreams.compat"></a>Compatibility With strstream</h3></div></div></div><p>
 
925
Index: libstdc++-v3/doc/html/manual/traits.html
 
926
===================================================================
 
927
--- a/src/libstdc++-v3/doc/html/manual/traits.html      (.../tags/gcc_4_8_2_release)
 
928
+++ b/src/libstdc++-v3/doc/html/manual/traits.html      (.../branches/gcc-4_8-branch)
 
929
@@ -1,5 +1,5 @@
 
930
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
931
-<!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>Traits</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="memory.html" title="Memory" /><link rel="next" href="strings.html" title="Chapter 7.  Strings" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Traits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
 
932
+<!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>Traits</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="memory.html" title="Memory" /><link rel="next" href="strings.html" title="Chapter 7.  Strings" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Traits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
 
933
   Utilities
 
934
   
 
935
 </th><td width="20%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.traits"></a>Traits</h2></div></div></div><p>
 
936
Index: libstdc++-v3/doc/html/manual/policy_data_structures_ack.html
 
937
===================================================================
 
938
--- a/src/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html  (.../tags/gcc_4_8_2_release)
 
939
+++ b/src/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html  (.../branches/gcc-4_8-branch)
 
940
@@ -1,10 +1,9 @@
 
941
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
942
-<!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>Acknowledgments</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_based_data_structures_test.html" title="Testing" /><link rel="next" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Acknowledgments</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.ack"></a>Acknowledgments</h2></div></div></div><p>
 
943
+<!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>Acknowledgments</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_based_data_structures_test.html" title="Testing" /><link rel="next" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Acknowledgments</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.ack"></a>Acknowledgments</h2></div></div></div><p>
 
944
       Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research
 
945
       Laboratories), and Benjamin Kosnik (Red Hat).
 
946
     </p><p>
 
947
-      This library was partially written at
 
948
-      <a class="link" href="http://www.haifa.il.ibm.com/" target="_top">IBM's Haifa Research Labs</a>.
 
949
+      This library was partially written at IBM's Haifa Research Labs.
 
950
       It is based heavily on policy-based design and uses many useful
 
951
       techniques from Modern C++ Design: Generic Programming and Design
 
952
       Patterns Applied by Andrei Alexandrescu.
 
953
Index: libstdc++-v3/doc/html/manual/associative.html
 
954
===================================================================
 
955
--- a/src/libstdc++-v3/doc/html/manual/associative.html (.../tags/gcc_4_8_2_release)
 
956
+++ b/src/libstdc++-v3/doc/html/manual/associative.html (.../branches/gcc-4_8-branch)
 
957
@@ -1,5 +1,5 @@
 
958
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
959
-<!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>Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="containers.html" title="Chapter 9.  Containers" /><link rel="next" href="unordered_associative.html" title="Unordered Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
 
960
+<!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>Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="containers.html" title="Chapter 9.  Containers" /><link rel="next" href="unordered_associative.html" title="Unordered Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
 
961
   Containers
 
962
   
 
963
 </th><td width="20%" align="right"> <a accesskey="n" href="unordered_associative.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.associative"></a>Associative</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.insert_hints"></a>Insertion Hints</h3></div></div></div><p>
 
964
Index: libstdc++-v3/doc/html/manual/ext_concurrency.html
 
965
===================================================================
 
966
--- a/src/libstdc++-v3/doc/html/manual/ext_concurrency.html     (.../tags/gcc_4_8_2_release)
 
967
+++ b/src/libstdc++-v3/doc/html/manual/ext_concurrency.html     (.../branches/gcc-4_8-branch)
 
968
@@ -1,8 +1,8 @@
 
969
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
970
-<!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. Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_demangling.html" title="Chapter 29. Demangling" /><link rel="next" href="ext_concurrency_impl.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
971
+<!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. Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_demangling.html" title="Chapter 29. Demangling" /><link rel="next" href="ext_concurrency_impl.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
972
   Extensions
 
973
   
 
974
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency_impl.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"></a>Chapter 30. Concurrency</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="ext_concurrency_use.html">Use</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"></a>Interface to Locks and Mutexes</h3></div></div></div><p>The file <code class="filename">&lt;ext/concurrence.h&gt;</code>
 
975
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency_impl.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"></a>Chapter 30. Concurrency</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="ext_concurrency_use.html">Use</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"></a>Interface to Locks and Mutexes</h3></div></div></div><p>The file <code class="filename">&lt;ext/concurrence.h&gt;</code>
 
976
 contains all the higher-level
 
977
 constructs for playing with threads. In contrast to the atomics layer,
 
978
 the concurrence layer consists largely of types. All types are defined within <code class="code">namespace __gnu_cxx</code>.
 
979
Index: libstdc++-v3/doc/html/manual/support.html
 
980
===================================================================
 
981
--- a/src/libstdc++-v3/doc/html/manual/support.html     (.../tags/gcc_4_8_2_release)
 
982
+++ b/src/libstdc++-v3/doc/html/manual/support.html     (.../branches/gcc-4_8-branch)
 
983
@@ -1,13 +1,13 @@
 
984
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
985
-<!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.  Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="next" href="dynamic_memory.html" title="Dynamic Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. 
 
986
+<!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.  Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="next" href="dynamic_memory.html" title="Dynamic Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. 
 
987
   Support
 
988
   
 
989
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="std_contents.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
990
     Standard Contents
 
991
   </th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"></a>Chapter 4. 
 
992
   Support
 
993
-  <a id="idp13745936" class="indexterm"></a>
 
994
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="section"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="section"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="section"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="section"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="section"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div><p>
 
995
+  <a id="idm270001786944" class="indexterm"></a>
 
996
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="section"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="section"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="section"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="section"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="section"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div><p>
 
997
     This part deals with the functions called and objects created
 
998
     automatically during the course of a program's existence.
 
999
   </p><p>
 
1000
Index: libstdc++-v3/doc/html/manual/bitmap_allocator.html
 
1001
===================================================================
 
1002
--- a/src/libstdc++-v3/doc/html/manual/bitmap_allocator.html    (.../tags/gcc_4_8_2_release)
 
1003
+++ b/src/libstdc++-v3/doc/html/manual/bitmap_allocator.html    (.../branches/gcc-4_8-branch)
 
1004
@@ -1,8 +1,8 @@
 
1005
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1006
-<!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. The bitmap_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="mt_allocator_ex_multi.html" title="Multiple Thread Example" /><link rel="next" href="bitmap_allocator_impl.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. The bitmap_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_ex_multi.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1007
+<!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. The bitmap_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="mt_allocator_ex_multi.html" title="Multiple Thread Example" /><link rel="next" href="bitmap_allocator_impl.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. The bitmap_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_ex_multi.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1008
   Extensions
 
1009
   
 
1010
-</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator_impl.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"></a>Chapter 21. The bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></div><p>
 
1011
+</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator_impl.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"></a>Chapter 21. The bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></div><p>
 
1012
 </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.bitmap.design"></a>Design</h2></div></div></div><p>
 
1013
     As this name suggests, this allocator uses a bit-map to keep track
 
1014
     of the used and unused memory locations for its book-keeping
 
1015
Index: libstdc++-v3/doc/html/manual/license.html
 
1016
===================================================================
 
1017
--- a/src/libstdc++-v3/doc/html/manual/license.html     (.../tags/gcc_4_8_2_release)
 
1018
+++ b/src/libstdc++-v3/doc/html/manual/license.html     (.../branches/gcc-4_8-branch)
 
1019
@@ -1,5 +1,5 @@
 
1020
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1021
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="status.html" title="Chapter 1. Status" /><link rel="next" href="bugs.html" title="Bugs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.license"></a>License</h2></div></div></div><p>
 
1022
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="status.html" title="Chapter 1. Status" /><link rel="next" href="bugs.html" title="Bugs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.license"></a>License</h2></div></div></div><p>
 
1023
     There are two licenses affecting GNU libstdc++: one for the code,
 
1024
     and one for the documentation.
 
1025
     </p><p>
 
1026
Index: libstdc++-v3/doc/html/manual/numerics.html
 
1027
===================================================================
 
1028
--- a/src/libstdc++-v3/doc/html/manual/numerics.html    (.../tags/gcc_4_8_2_release)
 
1029
+++ b/src/libstdc++-v3/doc/html/manual/numerics.html    (.../branches/gcc-4_8-branch)
 
1030
@@ -1,13 +1,13 @@
 
1031
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1032
-<!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.  Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="algorithms.html" title="Chapter 11.  Algorithms" /><link rel="next" href="generalized_numeric_operations.html" title="Generalized Operations" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. 
 
1033
+<!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.  Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="algorithms.html" title="Chapter 11.  Algorithms" /><link rel="next" href="generalized_numeric_operations.html" title="Generalized Operations" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. 
 
1034
   Numerics
 
1035
   
 
1036
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
1037
     Standard Contents
 
1038
   </th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"></a>Chapter 12. 
 
1039
   Numerics
 
1040
-  <a id="idp16214640" class="indexterm"></a>
 
1041
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="section"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="section"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="section"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="section"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.complex"></a>Complex</h2></div></div></div><p>
 
1042
+  <a id="idm269999316576" class="indexterm"></a>
 
1043
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="section"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="section"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="section"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="section"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.complex"></a>Complex</h2></div></div></div><p>
 
1044
   </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"></a>complex Processing</h3></div></div></div><p>
 
1045
     </p><p>Using <code class="code">complex&lt;&gt;</code> becomes even more comple- er, sorry,
 
1046
       <span class="emphasis"><em>complicated</em></span>, with the not-quite-gratuitously-incompatible
 
1047
Index: libstdc++-v3/doc/html/manual/using_exceptions.html
 
1048
===================================================================
 
1049
--- a/src/libstdc++-v3/doc/html/manual/using_exceptions.html    (.../tags/gcc_4_8_2_release)
 
1050
+++ b/src/libstdc++-v3/doc/html/manual/using_exceptions.html    (.../branches/gcc-4_8-branch)
 
1051
@@ -1,5 +1,5 @@
 
1052
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1053
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, exception, error, exception neutrality, exception safety, exception propagation, -fno-exceptions" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_concurrency.html" title="Concurrency" /><link rel="next" href="debug.html" title="Debugging Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.exceptions"></a>Exceptions</h2></div></div></div><p>
 
1054
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, exception, error, exception neutrality, exception safety, exception propagation, -fno-exceptions" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_concurrency.html" title="Concurrency" /><link rel="next" href="debug.html" title="Debugging Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.exceptions"></a>Exceptions</h2></div></div></div><p>
 
1055
 The C++ language provides language support for stack unwinding
 
1056
 with <code class="literal">try</code> and <code class="literal">catch</code> blocks and
 
1057
 the <code class="literal">throw</code> keyword.
 
1058
@@ -265,7 +265,7 @@
 
1059
   }
 
1060
   catch(...)
 
1061
   { this-&gt;_M_setstate(ios_base::badbit); }
 
1062
-</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="idp13644000"></a><p><span class="title"><em>
 
1063
+</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="idm270001889024"></a><p><span class="title"><em>
 
1064
        <a class="link" href="http://www.opengroup.org/austin/" target="_top">
 
1065
        System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
 
1066
        </a>
 
1067
@@ -274,39 +274,39 @@
 
1068
     . </span><span class="copyright">Copyright © 2008 
 
1069
        The Open Group/The Institute of Electrical and Electronics
 
1070
        Engineers, Inc.
 
1071
-      . </span></p></div><div class="biblioentry"><a id="idp13647696"></a><p><span class="title"><em>
 
1072
+      . </span></p></div><div class="biblioentry"><a id="idm270001885328"></a><p><span class="title"><em>
 
1073
        <a class="link" href="http://www.boost.org/community/error_handling.html" target="_top">
 
1074
        Error and Exception Handling
 
1075
        </a>
 
1076
       </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
 
1077
        Boost
 
1078
-      . </span></span></p></div><div class="biblioentry"><a id="idp13651392"></a><p><span class="title"><em>
 
1079
+      . </span></span></p></div><div class="biblioentry"><a id="idm270001881632"></a><p><span class="title"><em>
 
1080
        <a class="link" href="http://www.boost.org/community/exception_safety.html" target="_top">
 
1081
        Exception-Safety in Generic Components
 
1082
        </a>
 
1083
       </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
 
1084
        Boost
 
1085
-      . </span></span></p></div><div class="biblioentry"><a id="idp13655104"></a><p><span class="title"><em>
 
1086
+      . </span></span></p></div><div class="biblioentry"><a id="idm270001877920"></a><p><span class="title"><em>
 
1087
        <a class="link" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" target="_top">
 
1088
        Standard Library Exception Policy
 
1089
        </a>
 
1090
       </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
 
1091
        WG21 N1077
 
1092
-      . </span></span></p></div><div class="biblioentry"><a id="idp13658816"></a><p><span class="title"><em>
 
1093
+      . </span></span></p></div><div class="biblioentry"><a id="idm270001874208"></a><p><span class="title"><em>
 
1094
        <a class="link" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" target="_top">
 
1095
        ia64 c++ abi exception handling
 
1096
        </a>
 
1097
       </em>. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
 
1098
        GNU
 
1099
-      . </span></span></p></div><div class="biblioentry"><a id="idp13662512"></a><p><span class="title"><em>
 
1100
+      . </span></span></p></div><div class="biblioentry"><a id="idm270001870512"></a><p><span class="title"><em>
 
1101
        <a class="link" href="http://www.research.att.com/~bs/3rd_safe.pdf" target="_top">
 
1102
        Appendix E: Standard-Library Exception Safety
 
1103
        </a>
 
1104
-      </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="idp13665328"></a><p><span class="citetitle"><em class="citetitle">
 
1105
+      </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="idm270001867696"></a><p><span class="citetitle"><em class="citetitle">
 
1106
       Exceptional C++
 
1107
     </em>. </span><span class="pagenums">
 
1108
       Exception-Safety Issues and Techniques
 
1109
-    . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="idp13667712"></a><p><span class="title"><em>
 
1110
+    . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="idm270001865312"></a><p><span class="title"><em>
 
1111
        <a class="link" href="http://gcc.gnu.org/PR25191" target="_top">
 
1112
       GCC Bug 25191: exception_defines.h #defines try/catch
 
1113
        </a>
 
1114
Index: libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html
 
1115
===================================================================
 
1116
--- a/src/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html   (.../tags/gcc_4_8_2_release)
 
1117
+++ b/src/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html   (.../branches/gcc-4_8-branch)
 
1118
@@ -1,5 +1,5 @@
 
1119
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1120
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_design.html" title="Design" /><link rel="next" href="policy_data_structures_ack.html" title="Acknowledgments" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_ack.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.test"></a>Testing</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.regression"></a>Regression</h3></div></div></div><p>The library contains a single comprehensive regression test.
 
1121
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_design.html" title="Design" /><link rel="next" href="policy_data_structures_ack.html" title="Acknowledgments" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_ack.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.test"></a>Testing</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.regression"></a>Regression</h3></div></div></div><p>The library contains a single comprehensive regression test.
 
1122
     For a given container type in this library, the test creates
 
1123
     an object of the container type and an object of the
 
1124
     corresponding standard type (e.g., <code class="classname">std::set</code>). It
 
1125
Index: libstdc++-v3/doc/html/manual/parallel_mode_design.html
 
1126
===================================================================
 
1127
--- a/src/libstdc++-v3/doc/html/manual/parallel_mode_design.html        (.../tags/gcc_4_8_2_release)
 
1128
+++ b/src/libstdc++-v3/doc/html/manual/parallel_mode_design.html        (.../branches/gcc-4_8-branch)
 
1129
@@ -1,5 +1,5 @@
 
1130
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1131
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode_using.html" title="Using" /><link rel="next" href="parallel_mode_test.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_using.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_test.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1132
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode_using.html" title="Using" /><link rel="next" href="parallel_mode_test.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_using.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_test.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1133
   </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.intro"></a>Interface Basics</h3></div></div></div><p>
 
1134
 All parallel algorithms are intended to have signatures that are
 
1135
 equivalent to the ISO C++ algorithms replaced. For instance, the
 
1136
Index: libstdc++-v3/doc/html/manual/abi.html
 
1137
===================================================================
 
1138
--- a/src/libstdc++-v3/doc/html/manual/abi.html (.../tags/gcc_4_8_2_release)
 
1139
+++ b/src/libstdc++-v3/doc/html/manual/abi.html (.../branches/gcc-4_8-branch)
 
1140
@@ -1,5 +1,5 @@
 
1141
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1142
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, ABI, version, dynamic, shared, compatibility" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="test.html" title="Test" /><link rel="next" href="api.html" title="API Evolution and Deprecation History" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1143
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, ABI, version, dynamic, shared, compatibility" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="test.html" title="Test" /><link rel="next" href="api.html" title="API Evolution and Deprecation History" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1144
   Porting and Maintenance
 
1145
   
 
1146
 </th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1147
@@ -493,39 +493,39 @@
 
1148
        <a class="link" href="http://www.codesourcery.com/cxx-abi/" target="_top">
 
1149
          C++ ABI Summary
 
1150
        </a>
 
1151
-      </em>. </span></p></div><div class="biblioentry"><a id="idp22945936"></a><p><span class="title"><em>
 
1152
+      </em>. </span></p></div><div class="biblioentry"><a id="idm269992586624"></a><p><span class="title"><em>
 
1153
        <a class="link" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" target="_top">
 
1154
        Intel Compilers for Linux Compatibility with the GNU Compilers
 
1155
        </a>
 
1156
-      </em>. </span></p></div><div class="biblioentry"><a id="idp22947792"></a><p><span class="title"><em>
 
1157
+      </em>. </span></p></div><div class="biblioentry"><a id="idm269992584768"></a><p><span class="title"><em>
 
1158
        <a class="link" href="http://download.oracle.com/docs/cd/E19963-01/html/819-0690/index.html" target="_top">
 
1159
        Linker and Libraries Guide (document 819-0690)
 
1160
        </a>
 
1161
-      </em>. </span></p></div><div class="biblioentry"><a id="idp22949632"></a><p><span class="title"><em>
 
1162
+      </em>. </span></p></div><div class="biblioentry"><a id="idm269992582928"></a><p><span class="title"><em>
 
1163
        <a class="link" href="http://download.oracle.com/docs/cd/E19422-01/819-3689/index.html" target="_top">
 
1164
       Sun Studio 11: C++ Migration Guide (document 819-3689)
 
1165
        </a>
 
1166
-      </em>. </span></p></div><div class="biblioentry"><a id="idp22951488"></a><p><span class="title"><em>
 
1167
+      </em>. </span></p></div><div class="biblioentry"><a id="idm269992581072"></a><p><span class="title"><em>
 
1168
        <a class="link" href="http://www.akkadia.org/drepper/dsohowto.pdf" target="_top">
 
1169
       How to Write Shared Libraries
 
1170
        </a>
 
1171
-      </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="idp22954928"></a><p><span class="title"><em>
 
1172
+      </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="idm269992577632"></a><p><span class="title"><em>
 
1173
        <a class="link" href="http://www.arm.com/miscPDFs/8033.pdf" target="_top">
 
1174
       C++ ABI for the ARM Architecture
 
1175
        </a>
 
1176
-      </em>. </span></p></div><div class="biblioentry"><a id="idp22956736"></a><p><span class="title"><em>
 
1177
+      </em>. </span></p></div><div class="biblioentry"><a id="idm269992575824"></a><p><span class="title"><em>
 
1178
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" target="_top">
 
1179
       Dynamic Shared Objects: Survey and Issues
 
1180
        </a>
 
1181
       </em>. </span><span class="subtitle">
 
1182
       ISO C++ J16/06-0046
 
1183
-    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="idp22960032"></a><p><span class="title"><em>
 
1184
+    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="idm269992572528"></a><p><span class="title"><em>
 
1185
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" target="_top">
 
1186
        Versioning With Namespaces
 
1187
        </a>
 
1188
       </em>. </span><span class="subtitle">
 
1189
       ISO C++ J16/06-0083
 
1190
-    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="idp22963312"></a><p><span class="title"><em>
 
1191
+    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="idm269992569248"></a><p><span class="title"><em>
 
1192
        <a class="link" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf" target="_top">
 
1193
       Binary Compatibility of Shared Libraries Implemented in C++
 
1194
       on GNU/Linux Systems
 
1195
Index: libstdc++-v3/doc/html/manual/intro.html
 
1196
===================================================================
 
1197
--- a/src/libstdc++-v3/doc/html/manual/intro.html       (.../tags/gcc_4_8_2_release)
 
1198
+++ b/src/libstdc++-v3/doc/html/manual/intro.html       (.../branches/gcc-4_8-branch)
 
1199
@@ -1,8 +1,8 @@
 
1200
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1201
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="index.html" title="The GNU C++ Library Manual" /><link rel="next" href="status.html" title="Chapter 1. Status" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. 
 
1202
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="index.html" title="The GNU C++ Library Manual" /><link rel="next" href="status.html" title="Chapter 1. Status" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. 
 
1203
   Introduction
 
1204
   
 
1205
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr /></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. 
 
1206
   Introduction
 
1207
-  <a id="idp9040416" class="indexterm"></a>
 
1208
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Manual </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
 
1209
\ No newline at end of file
 
1210
+  <a id="idm270013458800" class="indexterm"></a>
 
1211
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Manual </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
 
1212
\ No newline at end of file
 
1213
Index: libstdc++-v3/doc/html/manual/profile_mode_api.html
 
1214
===================================================================
 
1215
--- a/src/libstdc++-v3/doc/html/manual/profile_mode_api.html    (.../tags/gcc_4_8_2_release)
 
1216
+++ b/src/libstdc++-v3/doc/html/manual/profile_mode_api.html    (.../branches/gcc-4_8-branch)
 
1217
@@ -1,5 +1,5 @@
 
1218
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1219
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_design.html" title="Design" /><link rel="next" href="profile_mode_cost_model.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="profile_mode_design.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_cost_model.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1220
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_design.html" title="Design" /><link rel="next" href="profile_mode_cost_model.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="profile_mode_design.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_cost_model.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1221
   Many large projects use their own data structures instead of the ones in the
 
1222
   standard library.  If these data structures are similar in functionality
 
1223
   to the standard library, they can be instrumented with the same hooks
 
1224
Index: libstdc++-v3/doc/html/manual/atomics.html
 
1225
===================================================================
 
1226
--- a/src/libstdc++-v3/doc/html/manual/atomics.html     (.../tags/gcc_4_8_2_release)
 
1227
+++ b/src/libstdc++-v3/doc/html/manual/atomics.html     (.../branches/gcc-4_8-branch)
 
1228
@@ -1,13 +1,13 @@
 
1229
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1230
-<!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.  Atomics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library, atomic" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="concurrency.html" title="Chapter 15.  Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. 
 
1231
+<!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.  Atomics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library, atomic" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="concurrency.html" title="Chapter 15.  Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. 
 
1232
   Atomics
 
1233
   
 
1234
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
1235
     Standard Contents
 
1236
   </th><td width="20%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"></a>Chapter 14. 
 
1237
   Atomics
 
1238
-  <a id="idp16390640" class="indexterm"></a>
 
1239
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
 
1240
+  <a id="idm269999140704" class="indexterm"></a>
 
1241
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
 
1242
   Facilities for atomic operations.
 
1243
 </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.atomics.api"></a>API Reference</h2></div></div></div><p>
 
1244
     All items are declared in the standard header
 
1245
Index: libstdc++-v3/doc/html/manual/internals.html
 
1246
===================================================================
 
1247
--- a/src/libstdc++-v3/doc/html/manual/internals.html   (.../tags/gcc_4_8_2_release)
 
1248
+++ b/src/libstdc++-v3/doc/html/manual/internals.html   (.../branches/gcc-4_8-branch)
 
1249
@@ -1,5 +1,5 @@
 
1250
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1251
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, internals" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="documentation_hacking.html" title="Writing and Generating Documentation" /><link rel="next" href="test.html" title="Test" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1252
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, internals" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="documentation_hacking.html" title="Writing and Generating Documentation" /><link rel="next" href="test.html" title="Test" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1253
   Porting and Maintenance
 
1254
   
 
1255
 </th><td width="20%" align="right"> <a accesskey="n" href="test.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1256
Index: libstdc++-v3/doc/html/manual/policy_data_structures_using.html
 
1257
===================================================================
 
1258
--- a/src/libstdc++-v3/doc/html/manual/policy_data_structures_using.html        (.../tags/gcc_4_8_2_release)
 
1259
+++ b/src/libstdc++-v3/doc/html/manual/policy_data_structures_using.html        (.../branches/gcc-4_8-branch)
 
1260
@@ -1,5 +1,5 @@
 
1261
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1262
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="next" href="policy_data_structures_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.using"></a>Using</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.prereq"></a>Prerequisites</h3></div></div></div><p>The library contains only header files, and does not require any
 
1263
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, policy, container, data, structure, associated, tree, trie, hash, metaprogramming" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="next" href="policy_data_structures_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.using"></a>Using</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.prereq"></a>Prerequisites</h3></div></div></div><p>The library contains only header files, and does not require any
 
1264
       other libraries except the standard C++ library . All classes are
 
1265
       defined in namespace <code class="code">__gnu_pbds</code>. The library internally
 
1266
       uses macros beginning with <code class="code">PB_DS</code>, but
 
1267
@@ -61,7 +61,7 @@
 
1268
        In addition, there are the following diagnostics classes,
 
1269
        used to report errors specific to this library's data
 
1270
        structures.
 
1271
-      </p><div class="figure"><a id="idp17806128"></a><p class="title"><strong>Figure 22.7. Exception Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_exception_hierarchy.png" align="middle" alt="Exception Hierarchy" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.tutorial"></a>Tutorial</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.basic"></a>Basic Use</h4></div></div></div><p>
 
1272
+      </p><div class="figure"><a id="idm269997724688"></a><p class="title"><strong>Figure 22.7. Exception Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_exception_hierarchy.png" align="middle" alt="Exception Hierarchy" /></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.tutorial"></a>Tutorial</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.basic"></a>Basic Use</h4></div></div></div><p>
 
1273
          For the most part, the policy-based containers containers in
 
1274
          namespace <code class="literal">__gnu_pbds</code> have the same interface as
 
1275
          the equivalent containers in the standard C++ library, except for
 
1276
Index: libstdc++-v3/doc/html/manual/bugs.html
 
1277
===================================================================
 
1278
--- a/src/libstdc++-v3/doc/html/manual/bugs.html        (.../tags/gcc_4_8_2_release)
 
1279
+++ b/src/libstdc++-v3/doc/html/manual/bugs.html        (.../branches/gcc-4_8-branch)
 
1280
@@ -1,5 +1,5 @@
 
1281
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1282
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="license.html" title="License" /><link rel="next" href="setup.html" title="Chapter 2. Setup" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.bugs"></a>Bugs</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"></a>Implementation Bugs</h3></div></div></div><p>
 
1283
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="license.html" title="License" /><link rel="next" href="setup.html" title="Chapter 2. Setup" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.bugs"></a>Bugs</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"></a>Implementation Bugs</h3></div></div></div><p>
 
1284
       Information on known bugs, details on efforts to fix them, and
 
1285
       fixed bugs are all available as part of the <a class="link" href="http://gcc.gnu.org/bugs/" target="_top">GCC bug tracking system</a>,
 
1286
       with the category set to <code class="literal">libstdc++</code>.
 
1287
Index: libstdc++-v3/doc/html/manual/parallel_mode_using.html
 
1288
===================================================================
 
1289
--- a/src/libstdc++-v3/doc/html/manual/parallel_mode_using.html (.../tags/gcc_4_8_2_release)
 
1290
+++ b/src/libstdc++-v3/doc/html/manual/parallel_mode_using.html (.../branches/gcc-4_8-branch)
 
1291
@@ -1,5 +1,5 @@
 
1292
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1293
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode_semantics.html" title="Semantics" /><link rel="next" href="parallel_mode_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_semantics.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_design.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler Flags</h3></div></div></div><p>
 
1294
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode_semantics.html" title="Semantics" /><link rel="next" href="parallel_mode_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode_semantics.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_design.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler Flags</h3></div></div></div><p>
 
1295
   Any use of parallel functionality requires additional compiler
 
1296
   and runtime support, in particular support for OpenMP. Adding this support is
 
1297
   not difficult: just compile your application with the compiler
 
1298
@@ -62,4 +62,4 @@
 
1299
 flags for atomic operations.)
 
1300
 </p><p> The following table provides the names and headers of all the
 
1301
   parallel algorithms that can be used in a similar manner:
 
1302
-</p><div class="table"><a id="idp16725920"></a><p class="title"><strong>Table 18.1. Parallel Algorithms</strong></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="parallel_mode_semantics.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="parallel_mode_design.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
 
1303
\ No newline at end of file
 
1304
+</p><div class="table"><a id="idm269998805216"></a><p class="title"><strong>Table 18.1. Parallel Algorithms</strong></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="parallel_mode_semantics.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="parallel_mode_design.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
 
1305
\ No newline at end of file
 
1306
Index: libstdc++-v3/doc/html/manual/ext_numerics.html
 
1307
===================================================================
 
1308
--- a/src/libstdc++-v3/doc/html/manual/ext_numerics.html        (.../tags/gcc_4_8_2_release)
 
1309
+++ b/src/libstdc++-v3/doc/html/manual/ext_numerics.html        (.../branches/gcc-4_8-branch)
 
1310
@@ -1,5 +1,5 @@
 
1311
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1312
-<!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. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_algorithms.html" title="Chapter 25. Algorithms" /><link rel="next" href="ext_iterators.html" title="Chapter 27. Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Numerics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1313
+<!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. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_algorithms.html" title="Chapter 25. Algorithms" /><link rel="next" href="ext_iterators.html" title="Chapter 27. Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Numerics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1314
   Extensions
 
1315
   
 
1316
 </th><td width="20%" align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"></a>Chapter 26. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as <code class="code">accumulate</code>,
 
1317
Index: libstdc++-v3/doc/html/manual/parallel_mode_semantics.html
 
1318
===================================================================
 
1319
--- a/src/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html     (.../tags/gcc_4_8_2_release)
 
1320
+++ b/src/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html     (.../branches/gcc-4_8-branch)
 
1321
@@ -1,5 +1,5 @@
 
1322
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1323
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="next" href="parallel_mode_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_using.html">Next</a></td></tr></table><hr /></div><div class="section"><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,
 
1324
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="next" href="parallel_mode_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_using.html">Next</a></td></tr></table><hr /></div><div class="section"><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,
 
1325
 i.e. user-defined functors must not throw exceptions.
 
1326
 Also, the order of execution is not guaranteed for some functions, of course.
 
1327
 Therefore, user-defined functors should not have any concurrent side effects.
 
1328
Index: libstdc++-v3/doc/html/manual/std_contents.html
 
1329
===================================================================
 
1330
--- a/src/libstdc++-v3/doc/html/manual/std_contents.html        (.../tags/gcc_4_8_2_release)
 
1331
+++ b/src/libstdc++-v3/doc/html/manual/std_contents.html        (.../branches/gcc-4_8-branch)
 
1332
@@ -1,9 +1,9 @@
 
1333
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1334
-<!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.  Standard Contents</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="debug.html" title="Debugging Support" /><link rel="next" href="support.html" title="Chapter 4.  Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
 
1335
+<!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.  Standard Contents</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="debug.html" title="Debugging Support" /><link rel="next" href="support.html" title="Chapter 4.  Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
 
1336
     Standard Contents
 
1337
   </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr></table><hr /></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a id="manual.std"></a>Part II. 
 
1338
     Standard Contents
 
1339
-  </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="support.html">4. 
 
1340
+  </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="support.html">4. 
 
1341
   Support
 
1342
   
 
1343
 </a></span></dt><dd><dl><dt><span class="section"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="section"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="section"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="section"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="section"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="section"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="diagnostics.html">5. 
 
1344
@@ -12,13 +12,13 @@
 
1345
 </a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="concept_checking.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="utilities.html">6. 
 
1346
   Utilities
 
1347
   
 
1348
-</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp13920976">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idp13924528">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp13937824">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15512272">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idp15534784">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idp15542080">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp15556704">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15573056">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idp15576640">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
 
1349
+</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm270001611968">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idm270001608416">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idm270001595120">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm270000019344">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idm269999996832">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idm269999989536">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idm269999974912">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm269999958496">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idm269999954912">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
 
1350
   Strings
 
1351
   
 
1352
 </a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="localization.html">8. 
 
1353
   Localization
 
1354
   
 
1355
-</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idp15778336">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
 
1356
+</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idm269999753024">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
 
1357
   Containers
 
1358
   
 
1359
 </a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="unordered_associative.html">Unordered Associative</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.hash">Hash Code</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.cache">Hash Code Caching Policy</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="iterators.html">10. 
 
1360
Index: libstdc++-v3/doc/html/manual/appendix.html
 
1361
===================================================================
 
1362
--- a/src/libstdc++-v3/doc/html/manual/appendix.html    (.../tags/gcc_4_8_2_release)
 
1363
+++ b/src/libstdc++-v3/doc/html/manual/appendix.html    (.../branches/gcc-4_8-branch)
 
1364
@@ -1,9 +1,9 @@
 
1365
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1366
-<!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.  Appendices</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="ext_concurrency_use.html" title="Use" /><link rel="next" href="appendix_contributing.html" title="Appendix A.  Contributing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
 
1367
+<!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.  Appendices</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="ext_concurrency_use.html" title="Use" /><link rel="next" href="appendix_contributing.html" title="Appendix A.  Contributing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
 
1368
   Appendices
 
1369
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency_use.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr></table><hr /></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a id="appendix"></a>Part IV. 
 
1370
   Appendices
 
1371
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="appendix"><a href="appendix_contributing.html">A. 
 
1372
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="appendix"><a href="appendix_contributing.html">A. 
 
1373
   Contributing
 
1374
   
 
1375
 </a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></dd><dt><span class="appendix"><a href="appendix_porting.html">B. 
 
1376
Index: libstdc++-v3/doc/html/manual/memory.html
 
1377
===================================================================
 
1378
--- a/src/libstdc++-v3/doc/html/manual/memory.html      (.../tags/gcc_4_8_2_release)
 
1379
+++ b/src/libstdc++-v3/doc/html/manual/memory.html      (.../branches/gcc-4_8-branch)
 
1380
@@ -1,5 +1,5 @@
 
1381
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1382
-<!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>Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="pairs.html" title="Pairs" /><link rel="next" href="traits.html" title="Traits" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
 
1383
+<!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>Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="pairs.html" title="Pairs" /><link rel="next" href="traits.html" title="Traits" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
 
1384
   Utilities
 
1385
   
 
1386
 </th><td width="20%" align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.memory"></a>Memory</h2></div></div></div><p>
 
1387
@@ -92,7 +92,7 @@
 
1388
     or loading and unloading shared objects in memory. As such, using
 
1389
     caching allocators on systems that do not support
 
1390
     <code class="function">abi::__cxa_atexit</code> is not recommended.
 
1391
-  </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp13920976"></a>Interface Design</h5></div></div></div><p>
 
1392
+  </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm270001611968"></a>Interface Design</h5></div></div></div><p>
 
1393
      The only allocator interface that
 
1394
      is supported is the standard C++ interface. As such, all STL
 
1395
      containers have been adjusted, and all external allocators have
 
1396
@@ -105,7 +105,7 @@
 
1397
    </p><p>
 
1398
      The base class that <code class="classname">allocator</code> is derived from
 
1399
      may not be user-configurable.
 
1400
-</p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp13924528"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
 
1401
+</p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm270001608416"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
 
1402
      It's difficult to pick an allocation strategy that will provide
 
1403
    maximum utility, without excessively penalizing some behavior. In
 
1404
    fact, it's difficult just deciding which typical actions to measure
 
1405
@@ -142,7 +142,7 @@
 
1406
      The current default choice for
 
1407
      <code class="classname">allocator</code> is
 
1408
      <code class="classname">__gnu_cxx::new_allocator</code>.
 
1409
-   </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp13937824"></a>Disabling Memory Caching</h5></div></div></div><p>
 
1410
+   </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm270001595120"></a>Disabling Memory Caching</h5></div></div></div><p>
 
1411
       In use, <code class="classname">allocator</code> may allocate and
 
1412
       deallocate using implementation-specific strategies and
 
1413
       heuristics. Because of this, a given call to an allocator object's
 
1414
@@ -309,33 +309,33 @@
 
1415
         of the used and unused memory locations. It has its own
 
1416
         <a class="link" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator">chapter</a>
 
1417
          in the documentation.
 
1418
-       </p></li></ol></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp13992848"></a><p><span class="citetitle"><em class="citetitle">
 
1419
+       </p></li></ol></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idm270000084224"></a><p><span class="citetitle"><em class="citetitle">
 
1420
     ISO/IEC 14882:1998 Programming languages - C++
 
1421
     </em>. </span>
 
1422
       isoc++_1998
 
1423
-    <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="idp13994688"></a><p><span class="title"><em>
 
1424
-       <a class="link" href="http://www.drdobbs.com/cpp/184403759" target="_top">
 
1425
+    <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="idm270000082384"></a><p><span class="title"><em>
 
1426
+       <a class="link" href="http://www.drdobbs.com/the-standard-librarian-what-are-allocato/184403759" target="_top">
 
1427
       The Standard Librarian: What Are Allocators Good For?
 
1428
        </a>
 
1429
       </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
 
1430
        C/C++ Users Journal
 
1431
-      . </span></span></p></div><div class="biblioentry"><a id="idp13998416"></a><p><span class="title"><em>
 
1432
+      . </span></span></p></div><div class="biblioentry"><a id="idm270000078608"></a><p><span class="title"><em>
 
1433
        <a class="link" href="http://www.hoard.org/" target="_top">
 
1434
       The Hoard Memory Allocator
 
1435
        </a>
 
1436
-      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="idp14001184"></a><p><span class="title"><em>
 
1437
+      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="idm270000075840"></a><p><span class="title"><em>
 
1438
        <a class="link" href="http://people.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
 
1439
       Reconsidering Custom Memory Allocation
 
1440
        </a>
 
1441
-      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry"><a id="idp14007344"></a><p><span class="title"><em>
 
1442
+      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry"><a id="idm270000069680"></a><p><span class="title"><em>
 
1443
        <a class="link" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html" target="_top">
 
1444
       Allocator Types
 
1445
        </a>
 
1446
       </em>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="publisher"><span class="publishername">
 
1447
        C/C++ Users Journal
 
1448
-      . </span></span></p></div><div class="biblioentry"><a id="idp14012080"></a><p><span class="citetitle"><em class="citetitle">The C++ Programming Language</em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
 
1449
+      . </span></span></p></div><div class="biblioentry"><a id="idm270000064944"></a><p><span class="citetitle"><em class="citetitle">The C++ Programming Language</em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
 
1450
        Addison Wesley
 
1451
-      . </span></span></p></div><div class="biblioentry"><a id="idp14016512"></a><p><span class="citetitle"><em class="citetitle">Yalloc: A Recycling C++ Allocator</em>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
 
1452
+      . </span></span></p></div><div class="biblioentry"><a id="idm270000060512"></a><p><span class="citetitle"><em class="citetitle">Yalloc: A Recycling C++ Allocator</em>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
 
1453
    happen with misuse of the <code class="classname">auto_ptr</code> class
 
1454
    template (called <acronym class="acronym">AP</acronym> here) would take some
 
1455
    time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
 
1456
@@ -445,7 +445,7 @@
 
1457
 Derived classes override those functions to destroy resources in a context
 
1458
 where the correct dynamic type is known. This is an application of the
 
1459
 technique known as type erasure.
 
1460
-  </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp15512272"></a>Class Hierarchy</h5></div></div></div><p>
 
1461
+  </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm270000019344"></a>Class Hierarchy</h5></div></div></div><p>
 
1462
 A <code class="classname">shared_ptr&lt;T&gt;</code> contains a pointer of
 
1463
 type <span class="type">T*</span> and an object of type
 
1464
 <code class="classname">__shared_count</code>. The shared_count contains a
 
1465
@@ -492,9 +492,9 @@
 
1466
 aliasing constructor, make_shared &amp; allocate_shared. Additionally,
 
1467
 the constructors taking <code class="classname">auto_ptr</code> parameters are
 
1468
 deprecated in C++11 mode.
 
1469
-    </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp15534784"></a>Thread Safety</h5></div></div></div><p>
 
1470
+    </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm269999996832"></a>Thread Safety</h5></div></div></div><p>
 
1471
 The
 
1472
-<a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety" target="_top">Thread
 
1473
+<a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety" target="_top">Thread
 
1474
 Safety</a> section of the Boost shared_ptr documentation says "shared_ptr
 
1475
 objects offer the same level of thread safety as built-in types."
 
1476
 The implementation must ensure that concurrent updates to separate shared_ptr
 
1477
@@ -537,7 +537,7 @@
 
1478
 shared_ptr in libstdc++ the compiler and library are fixed, which
 
1479
 makes things much simpler: we have an atomic CAS or we don't, see Lock
 
1480
 Policy below for details.
 
1481
-</p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp15542080"></a>Selecting Lock Policy</h5></div></div></div><p>
 
1482
+</p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm269999989536"></a>Selecting Lock Policy</h5></div></div></div><p>
 
1483
     </p><p>
 
1484
 There is a single <code class="classname">_Sp_counted_base</code> class,
 
1485
 which is a template parameterized on the enum
 
1486
@@ -578,7 +578,7 @@
 
1487
        <code class="filename">ext/atomicity.h</code>, which detect if the program
 
1488
        is multi-threaded.  If only one thread of execution exists in
 
1489
        the program then less expensive non-atomic operations are used.
 
1490
-     </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp15556704"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
 
1491
+     </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm269999974912"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
 
1492
 <code class="code">const_pointer_cast</code></span></dt><dd><p>
 
1493
 As noted in N2351, these functions can be implemented non-intrusively using
 
1494
 the alias constructor.  However the aliasing constructor is only available
 
1495
@@ -611,13 +611,13 @@
 
1496
 As well as the extra constructors, this implementation also needs some
 
1497
 members of _Sp_counted_deleter to be protected where they could otherwise
 
1498
 be private.
 
1499
-    </p></dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp15573056"></a>Examples</h5></div></div></div><p>
 
1500
+    </p></dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm269999958496"></a>Examples</h5></div></div></div><p>
 
1501
       Examples of use can be found in the testsuite, under
 
1502
       <code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>,
 
1503
       <code class="filename">testsuite/20_util/shared_ptr</code>
 
1504
       and
 
1505
       <code class="filename">testsuite/20_util/weak_ptr</code>.
 
1506
-    </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp15576640"></a>Unresolved Issues</h5></div></div></div><p>
 
1507
+    </p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm269999954912"></a>Unresolved Issues</h5></div></div></div><p>
 
1508
       The <span class="emphasis"><em><code class="classname">shared_ptr</code> atomic access</em></span>
 
1509
       clause in the C++11 standard is not implemented in GCC.
 
1510
     </p><p>
 
1511
@@ -658,25 +658,25 @@
 
1512
     code to work with, Peter Dimov in particular for his help and
 
1513
     invaluable advice on thread safety.  Phillip Jordan and Paolo
 
1514
     Carlini for the lock policy implementation.
 
1515
-  </p></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15587936"></a><p><span class="title"><em>
 
1516
+  </p></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idm269999943680"></a><p><span class="title"><em>
 
1517
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" target="_top">
 
1518
       Improving shared_ptr for C++0x, Revision 2
 
1519
        </a>
 
1520
       </em>. </span><span class="subtitle">
 
1521
       N2351
 
1522
-    . </span></p></div><div class="biblioentry"><a id="idp15590224"></a><p><span class="title"><em>
 
1523
+    . </span></p></div><div class="biblioentry"><a id="idm269999941392"></a><p><span class="title"><em>
 
1524
        <a class="link" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" target="_top">
 
1525
       C++ Standard Library Active Issues List
 
1526
        </a>
 
1527
       </em>. </span><span class="subtitle">
 
1528
       N2456
 
1529
-    . </span></p></div><div class="biblioentry"><a id="idp15592512"></a><p><span class="title"><em>
 
1530
+    . </span></p></div><div class="biblioentry"><a id="idm269999939104"></a><p><span class="title"><em>
 
1531
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" target="_top">
 
1532
       Working Draft, Standard for Programming Language C++
 
1533
        </a>
 
1534
       </em>. </span><span class="subtitle">
 
1535
       N2461
 
1536
-    . </span></p></div><div class="biblioentry"><a id="idp15594816"></a><p><span class="title"><em>
 
1537
+    . </span></p></div><div class="biblioentry"><a id="idm269999936800"></a><p><span class="title"><em>
 
1538
        <a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">
 
1539
       Boost C++ Libraries documentation, shared_ptr
 
1540
        </a>
 
1541
Index: libstdc++-v3/doc/html/manual/api.html
 
1542
===================================================================
 
1543
--- a/src/libstdc++-v3/doc/html/manual/api.html (.../tags/gcc_4_8_2_release)
 
1544
+++ b/src/libstdc++-v3/doc/html/manual/api.html (.../branches/gcc-4_8-branch)
 
1545
@@ -1,5 +1,5 @@
 
1546
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1547
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, api, evolution, deprecation, history" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="abi.html" title="ABI Policy and Guidelines" /><link rel="next" href="backwards.html" title="Backwards Compatibility" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1548
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, api, evolution, deprecation, history" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="abi.html" title="ABI Policy and Guidelines" /><link rel="next" href="backwards.html" title="Backwards Compatibility" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1549
   Porting and Maintenance
 
1550
   
 
1551
 </th><td width="20%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1552
@@ -77,11 +77,11 @@
 
1553
    <span class="type">__alloc</span> to select an underlying allocator that
 
1554
    satisfied memory allocation requests. The selection of this
 
1555
    underlying allocator was not user-configurable.
 
1556
-   </p><div class="table"><a id="idp23030528"></a><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
 
1557
+   </p><div class="table"><a id="idm269992502096"></a><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
 
1558
    of available allocators. All of these new allocators are
 
1559
    standard-style. The following table includes details, along with
 
1560
    the first released version of GCC that included the extension allocator.
 
1561
-   </p><div class="table"><a id="idp23058160"></a><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
1562
+   </p><div class="table"><a id="idm269992474464"></a><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
1563
 Debug mode first appears.
 
1564
 </p><p>
 
1565
 Precompiled header support <acronym class="acronym">PCH</acronym> support.
 
1566
Index: libstdc++-v3/doc/html/manual/source_organization.html
 
1567
===================================================================
 
1568
--- a/src/libstdc++-v3/doc/html/manual/source_organization.html (.../tags/gcc_4_8_2_release)
 
1569
+++ b/src/libstdc++-v3/doc/html/manual/source_organization.html (.../branches/gcc-4_8-branch)
 
1570
@@ -1,5 +1,5 @@
 
1571
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1572
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="next" href="source_code_style.html" title="Coding Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
 
1573
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="next" href="source_code_style.html" title="Coding Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
 
1574
   Contributing
 
1575
   
 
1576
 </th><td width="20%" align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1577
Index: libstdc++-v3/doc/html/manual/fstreams.html
 
1578
===================================================================
 
1579
--- a/src/libstdc++-v3/doc/html/manual/fstreams.html    (.../tags/gcc_4_8_2_release)
 
1580
+++ b/src/libstdc++-v3/doc/html/manual/fstreams.html    (.../branches/gcc-4_8-branch)
 
1581
@@ -1,5 +1,5 @@
 
1582
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1583
-<!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>File Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="stringstreams.html" title="Memory Based Streams" /><link rel="next" href="io_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">File Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
1584
+<!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>File Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="stringstreams.html" title="Memory Based Streams" /><link rel="next" href="io_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">File Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
1585
   Input and Output
 
1586
   
 
1587
 </th><td width="20%" align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.filestreams"></a>File Based Streams</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.copying_a_file"></a>Copying a File</h3></div></div></div><p>
 
1588
Index: libstdc++-v3/doc/html/manual/ext_demangling.html
 
1589
===================================================================
 
1590
--- a/src/libstdc++-v3/doc/html/manual/ext_demangling.html      (.../tags/gcc_4_8_2_release)
 
1591
+++ b/src/libstdc++-v3/doc/html/manual/ext_demangling.html      (.../branches/gcc-4_8-branch)
 
1592
@@ -1,5 +1,5 @@
 
1593
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1594
-<!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. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 28. Input and Output" /><link rel="next" href="ext_concurrency.html" title="Chapter 30. Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Demangling</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1595
+<!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. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 28. Input and Output" /><link rel="next" href="ext_concurrency.html" title="Chapter 30. Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Demangling</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1596
   Extensions
 
1597
   
 
1598
 </th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"></a>Chapter 29. Demangling</h2></div></div></div><p>
 
1599
Index: libstdc++-v3/doc/html/manual/ext_preface.html
 
1600
===================================================================
 
1601
--- a/src/libstdc++-v3/doc/html/manual/ext_preface.html (.../tags/gcc_4_8_2_release)
 
1602
+++ b/src/libstdc++-v3/doc/html/manual/ext_preface.html (.../branches/gcc-4_8-branch)
 
1603
@@ -1,8 +1,8 @@
 
1604
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1605
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="extensions.html" title="Part III.  Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1606
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="extensions.html" title="Part III.  Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1607
   Extensions
 
1608
   
 
1609
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="idp16425920"></a></h1></div></div></div><p>
 
1610
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="idm269999105296"></a></h1></div></div></div><p>
 
1611
   Here we will make an attempt at describing the non-Standard
 
1612
   extensions to the library.  Some of these are from older versions of
 
1613
   standard library components, namely SGI's STL, and some of these are
 
1614
Index: libstdc++-v3/doc/html/manual/concept_checking.html
 
1615
===================================================================
 
1616
--- a/src/libstdc++-v3/doc/html/manual/concept_checking.html    (.../tags/gcc_4_8_2_release)
 
1617
+++ b/src/libstdc++-v3/doc/html/manual/concept_checking.html    (.../branches/gcc-4_8-branch)
 
1618
@@ -1,5 +1,5 @@
 
1619
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1620
-<!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>Concept Checking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="prev" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="next" href="utilities.html" title="Chapter 6.  Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concept Checking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Chapter 5. 
 
1621
+<!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>Concept Checking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="prev" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="next" href="utilities.html" title="Chapter 6.  Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concept Checking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Chapter 5. 
 
1622
   Diagnostics
 
1623
   
 
1624
 </th><td width="20%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.concept_checking"></a>Concept Checking</h2></div></div></div><p>
 
1625
Index: libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html
 
1626
===================================================================
 
1627
--- a/src/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html       (.../tags/gcc_4_8_2_release)
 
1628
+++ b/src/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html       (.../branches/gcc-4_8-branch)
 
1629
@@ -1,5 +1,5 @@
 
1630
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1631
-<!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>Multiple Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator_ex_single.html" title="Single Thread Example" /><link rel="next" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Multiple Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_ex_single.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_multi"></a>Multiple Thread Example</h2></div></div></div><p>
 
1632
+<!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>Multiple Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator_ex_single.html" title="Single Thread Example" /><link rel="next" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Multiple Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_ex_single.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_multi"></a>Multiple Thread Example</h2></div></div></div><p>
 
1633
 In the ST example we never used the thread_id variable present in each block.
 
1634
 Let's start by explaining the purpose of this in a MT application.
 
1635
 </p><p>
 
1636
Index: libstdc++-v3/doc/html/manual/ext_compile_checks.html
 
1637
===================================================================
 
1638
--- a/src/libstdc++-v3/doc/html/manual/ext_compile_checks.html  (.../tags/gcc_4_8_2_release)
 
1639
+++ b/src/libstdc++-v3/doc/html/manual/ext_compile_checks.html  (.../branches/gcc-4_8-branch)
 
1640
@@ -1,5 +1,5 @@
 
1641
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1642
-<!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. Compile Time Checks</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_preface.html" title="" /><link rel="next" href="debug_mode.html" title="Chapter 17. Debug Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Compile Time Checks</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_preface.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1643
+<!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. Compile Time Checks</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_preface.html" title="" /><link rel="next" href="debug_mode.html" title="Chapter 17. Debug Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Compile Time Checks</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_preface.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1644
   Extensions
 
1645
   
 
1646
 </th><td width="20%" align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.compile_checks"></a>Chapter 16. Compile Time Checks</h2></div></div></div><p>
 
1647
Index: libstdc++-v3/doc/html/manual/strings.html
 
1648
===================================================================
 
1649
--- a/src/libstdc++-v3/doc/html/manual/strings.html     (.../tags/gcc_4_8_2_release)
 
1650
+++ b/src/libstdc++-v3/doc/html/manual/strings.html     (.../branches/gcc-4_8-branch)
 
1651
@@ -1,13 +1,13 @@
 
1652
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1653
-<!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.  Strings</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="traits.html" title="Traits" /><link rel="next" href="localization.html" title="Chapter 8.  Localization" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. 
 
1654
+<!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.  Strings</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="traits.html" title="Traits" /><link rel="next" href="localization.html" title="Chapter 8.  Localization" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. 
 
1655
   Strings
 
1656
   
 
1657
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="traits.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
1658
     Standard Contents
 
1659
   </th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"></a>Chapter 7. 
 
1660
   Strings
 
1661
-  <a id="idp15603440" class="indexterm"></a>
 
1662
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.strings.string"></a>String Classes</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"></a>Simple Transformations</h3></div></div></div><p>
 
1663
+  <a id="idm269999928112" class="indexterm"></a>
 
1664
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.strings.string"></a>String Classes</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"></a>Simple Transformations</h3></div></div></div><p>
 
1665
       Here are Standard, simple, and portable ways to perform common
 
1666
       transformations on a <code class="code">string</code> instance, such as
 
1667
       "convert to all upper case." The word transformations
 
1668
Index: libstdc++-v3/doc/html/manual/containers_and_c.html
 
1669
===================================================================
 
1670
--- a/src/libstdc++-v3/doc/html/manual/containers_and_c.html    (.../tags/gcc_4_8_2_release)
 
1671
+++ b/src/libstdc++-v3/doc/html/manual/containers_and_c.html    (.../branches/gcc-4_8-branch)
 
1672
@@ -1,5 +1,5 @@
 
1673
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1674
-<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="unordered_associative.html" title="Unordered Associative" /><link rel="next" href="iterators.html" title="Chapter 10.  Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="unordered_associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
 
1675
+<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="unordered_associative.html" title="Unordered Associative" /><link rel="next" href="iterators.html" title="Chapter 10.  Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="unordered_associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
 
1676
   Containers
 
1677
   
 
1678
 </th><td width="20%" align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.c"></a>Interacting with C</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="containers.c.vs_array"></a>Containers vs. Arrays</h3></div></div></div><p>
 
1679
Index: libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html
 
1680
===================================================================
 
1681
--- a/src/libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html    (.../tags/gcc_4_8_2_release)
 
1682
+++ b/src/libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html    (.../branches/gcc-4_8-branch)
 
1683
@@ -1,5 +1,5 @@
 
1684
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1685
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_devel.html" title="Developer Information" /><link rel="next" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode_devel.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1686
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_devel.html" title="Developer Information" /><link rel="next" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode_devel.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1687
   The table below presents all the diagnostics we intend to implement.
 
1688
   Each diagnostic has a corresponding compile time switch
 
1689
   <code class="code">-D_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
 
1690
@@ -17,7 +17,7 @@
 
1691
   A high accuracy means that the diagnostic is unlikely to be wrong.
 
1692
   These grades are not perfect.  They are just meant to guide users with
 
1693
   specific needs or time budgets.
 
1694
-  </p><div class="table"><a id="idp17088912"></a><p class="title"><strong>Table 19.2. Profile Diagnostics</strong></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="link" href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.containers" title="Containers">
 
1695
+  </p><div class="table"><a id="idm269998442544"></a><p class="title"><strong>Table 19.2. Profile Diagnostics</strong></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="link" href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.containers" title="Containers">
 
1696
     CONTAINERS</a></td><td align="left"><a class="link" href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_small" title="Hashtable Too Small">
 
1697
     HASHTABLE_TOO_SMALL</a></td><td align="left">10</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_large" title="Hashtable Too Large">
 
1698
     HASHTABLE_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.inefficient_hash" title="Inefficient Hash">
 
1699
@@ -374,7 +374,7 @@
 
1700
   Quick Sort for a particular call context.
 
1701
   </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
 
1702
   See papers:
 
1703
-  <a class="link" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981" target="_top">
 
1704
+  <a class="link" href="https://dl.acm.org/citation.cfm?doid=1065944.1065981" target="_top">
 
1705
   A framework for adaptive algorithm selection in STAPL</a> and
 
1706
   <a class="link" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227" target="_top">
 
1707
   Optimizing Sorting with Machine Learning Algorithms</a>.
 
1708
@@ -500,7 +500,7 @@
 
1709
   Keep a shadow for each container.  Record iterator dereferences and
 
1710
   container member accesses.  Issue advice for elements referenced by
 
1711
   multiple threads.
 
1712
-  See paper: <a class="link" href="http://portal.acm.org/citation.cfm?id=207110.207148" target="_top">
 
1713
+  See paper: <a class="link" href="https://dl.acm.org/citation.cfm?id=207110.207148" target="_top">
 
1714
   The LRPD test: speculative run-time parallelization of loops with
 
1715
   privatization and reduction parallelization</a>.
 
1716
   </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
 
1717
Index: libstdc++-v3/doc/html/manual/ext_concurrency_impl.html
 
1718
===================================================================
 
1719
--- a/src/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html        (.../tags/gcc_4_8_2_release)
 
1720
+++ b/src/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html        (.../branches/gcc-4_8-branch)
 
1721
@@ -1,5 +1,5 @@
 
1722
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1723
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="next" href="ext_concurrency_use.html" title="Use" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency_use.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div class="section"><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
 
1724
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="next" href="ext_concurrency_use.html" title="Use" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency_use.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div class="section"><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
 
1725
 implemented via compiler intrinsics (if the underlying host is
 
1726
 capable) or by library fallbacks.</p><p>Compiler intrinsics (builtins) are always preferred.  However, as
 
1727
 the compiler builtins for atomics are not universally implemented,
 
1728
Index: libstdc++-v3/doc/html/manual/io_and_c.html
 
1729
===================================================================
 
1730
--- a/src/libstdc++-v3/doc/html/manual/io_and_c.html    (.../tags/gcc_4_8_2_release)
 
1731
+++ b/src/libstdc++-v3/doc/html/manual/io_and_c.html    (.../branches/gcc-4_8-branch)
 
1732
@@ -1,5 +1,5 @@
 
1733
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1734
-<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="fstreams.html" title="File Based Streams" /><link rel="next" href="atomics.html" title="Chapter 14.  Atomics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
1735
+<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="fstreams.html" title="File Based Streams" /><link rel="next" href="atomics.html" title="Chapter 14.  Atomics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
1736
   Input and Output
 
1737
   
 
1738
 </th><td width="20%" align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.c"></a>Interacting with C</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.FILE"></a>Using FILE* and file descriptors</h3></div></div></div><p>
 
1739
Index: libstdc++-v3/doc/html/manual/documentation_hacking.html
 
1740
===================================================================
 
1741
--- a/src/libstdc++-v3/doc/html/manual/documentation_hacking.html       (.../tags/gcc_4_8_2_release)
 
1742
+++ b/src/libstdc++-v3/doc/html/manual/documentation_hacking.html       (.../branches/gcc-4_8-branch)
 
1743
@@ -1,5 +1,5 @@
 
1744
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1745
-<!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>Writing and Generating Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, documentation, style, docbook, doxygen" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="next" href="internals.html" title="Porting to New Hardware or Operating Systems" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing and Generating Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1746
+<!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>Writing and Generating Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, documentation, style, docbook, doxygen" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="next" href="internals.html" title="Porting to New Hardware or Operating Systems" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing and Generating Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1747
   Porting and Maintenance
 
1748
   
 
1749
 </th><td width="20%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.doc"></a>Writing and Generating Documentation</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="doc.intro"></a>Introduction</h3></div></div></div><p>
 
1750
@@ -112,7 +112,7 @@
 
1751
       supported, and are always aliased to dummy rules. These
 
1752
       unsupported formats are: <span class="emphasis"><em>info</em></span>,
 
1753
       <span class="emphasis"><em>ps</em></span>, and <span class="emphasis"><em>dvi</em></span>.
 
1754
-    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"></a>Doxygen</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="idp22162432"></a><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">coreutils</td><td align="center">8.5</td><td align="center">all</td></tr><tr><td align="center">bash</td><td align="center">4.1</td><td align="center">all</td></tr><tr><td align="center">doxygen</td><td align="center">1.7.6.1</td><td align="center">all</td></tr><tr><td align="center">graphviz</td><td align="center">2.26</td><td align="center">graphical hierarchies</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
1755
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"></a>Doxygen</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="idm269993370272"></a><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">coreutils</td><td align="center">8.5</td><td align="center">all</td></tr><tr><td align="center">bash</td><td align="center">4.1</td><td align="center">all</td></tr><tr><td align="center">doxygen</td><td align="center">1.7.6.1</td><td align="center">all</td></tr><tr><td align="center">graphviz</td><td align="center">2.26</td><td align="center">graphical hierarchies</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
1756
        Prerequisite tools are Bash 2.0 or later,
 
1757
        <a class="link" href="http://www.doxygen.org/" target="_top">Doxygen</a>, and
 
1758
        the <a class="link" href="http://www.gnu.org/software/coreutils/" target="_top">GNU
 
1759
@@ -232,9 +232,8 @@
 
1760
        member functions.
 
1761
       </p><p>
 
1762
        Some commentary to accompany
 
1763
-       the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html" target="_top">Special
 
1764
-       Documentation Blocks</a> section of
 
1765
-       the Doxygen manual:
 
1766
+       the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html" target="_top">Special
 
1767
+       Documentation Blocks</a> section of the Doxygen manual:
 
1768
       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>For longer comments, use the Javadoc style...</p></li><li class="listitem"><p>
 
1769
            ...not the Qt style. The intermediate *'s are preferred.
 
1770
          </p></li><li class="listitem"><p>
 
1771
@@ -310,7 +309,7 @@
 
1772
        writing Doxygen comments. Single and double quotes, and
 
1773
        separators in filenames are two common trouble spots. When in
 
1774
        doubt, consult the following table.
 
1775
-      </p><div class="table"><a id="idp22238096"></a><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left">&lt;i&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;b&gt;</td><td align="left">@b word</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">@c word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"></a>Docbook</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="idp22257536"></a><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">docbook5-style-xsl</td><td align="center">1.76.1</td><td align="center">all</td></tr><tr><td align="center">xsltproc</td><td align="center">1.1.26</td><td align="center">all</td></tr><tr><td align="center">xmllint</td><td align="center">2.7.7</td><td align="center">validation</td></tr><tr><td align="center">dblatex</td><td align="center">0.3</td><td align="center">pdf output</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr><tr><td align="center">docbook2X</td><td align="center">0.8.8</td><td align="center">info output</td></tr><tr><td align="center">epub3 stylesheets</td><td align="center">b3</td><td align="center">epub output</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
1776
+      </p><div class="table"><a id="idm269993294592"></a><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left">&lt;i&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;b&gt;</td><td align="left">@b word</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">@c word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"></a>Docbook</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="idm269993275152"></a><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">docbook5-style-xsl</td><td align="center">1.76.1</td><td align="center">all</td></tr><tr><td align="center">xsltproc</td><td align="center">1.1.26</td><td align="center">all</td></tr><tr><td align="center">xmllint</td><td align="center">2.7.7</td><td align="center">validation</td></tr><tr><td align="center">dblatex</td><td align="center">0.3</td><td align="center">pdf output</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr><tr><td align="center">docbook2X</td><td align="center">0.8.8</td><td align="center">info output</td></tr><tr><td align="center">epub3 stylesheets</td><td align="center">b3</td><td align="center">epub output</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
1777
        Editing the DocBook sources requires an XML editor. Many
 
1778
        exist: some notable options
 
1779
        include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
 
1780
@@ -520,11 +519,11 @@
 
1781
        <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html" target="_top">online</a>.
 
1782
        An incomplete reference for HTML to Docbook conversion is
 
1783
        detailed in the table below.
 
1784
-      </p><div class="table"><a id="idp22335040"></a><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
 
1785
+      </p><div class="table"><a id="idm269993197520"></a><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
 
1786
        &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>
 
1787
   And examples of detailed markup for which there are no real HTML
 
1788
   equivalents are listed in the table below.
 
1789
-</p><div class="table"><a id="idp22359184"></a><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
 
1790
+</p><div class="table"><a id="idm269993173376"></a><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
 
1791
        <p>&lt;function&gt;clear()&lt;/function&gt;</p>
 
1792
        <p>&lt;function&gt;fs.clear()&lt;/function&gt;</p>
 
1793
       </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">
 
1794
Index: libstdc++-v3/doc/html/manual/extensions.html
 
1795
===================================================================
 
1796
--- a/src/libstdc++-v3/doc/html/manual/extensions.html  (.../tags/gcc_4_8_2_release)
 
1797
+++ b/src/libstdc++-v3/doc/html/manual/extensions.html  (.../branches/gcc-4_8-branch)
 
1798
@@ -1,11 +1,11 @@
 
1799
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1800
-<!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.  Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="ext_preface.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
 
1801
+<!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.  Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="ext_preface.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
 
1802
   Extensions
 
1803
   
 
1804
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="ext_preface.html">Next</a></td></tr></table><hr /></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"></a>Part III. 
 
1805
   Extensions
 
1806
-  <a id="idp16423680" class="indexterm"></a>
 
1807
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="preface"><a href="ext_preface.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span class="section"><a href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.link">Link- and run-time coexistence of release- and
 
1808
+  <a id="idm269999107536" class="indexterm"></a>
 
1809
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="preface"><a href="ext_preface.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span class="section"><a href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.link">Link- and run-time coexistence of release- and
 
1810
     debug-mode components</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_test.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="profile_mode_design.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_api.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="profile_mode_cost_model.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="profile_mode_impl.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_devel.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_devel.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="profile_mode_devel.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="mt_allocator_design.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="mt_allocator_ex_single.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="mt_allocator_ex_multi.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
 
1811
            Configuring via Template Parameters
 
1812
          </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
 
1813
Index: libstdc++-v3/doc/html/manual/debug_mode_using.html
 
1814
===================================================================
 
1815
--- a/src/libstdc++-v3/doc/html/manual/debug_mode_using.html    (.../tags/gcc_4_8_2_release)
 
1816
+++ b/src/libstdc++-v3/doc/html/manual/debug_mode_using.html    (.../branches/gcc-4_8-branch)
 
1817
@@ -1,5 +1,5 @@
 
1818
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1819
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode_semantics.html" title="Semantics" /><link rel="next" href="debug_mode_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode_semantics.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode_design.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1820
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode_semantics.html" title="Semantics" /><link rel="next" href="debug_mode_design.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode_semantics.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode_design.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1821
   </p><div class="section"><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
 
1822
   compiler flag <code class="code">-D_GLIBCXX_DEBUG</code>. Note that this flag
 
1823
   changes the sizes and behavior of standard class templates such
 
1824
@@ -18,6 +18,6 @@
 
1825
   mode or with debug mode. The
 
1826
   following table provides the names and headers of the debugging
 
1827
   containers:
 
1828
-</p><div class="table"><a id="idp16490400"></a><p class="title"><strong>Table 17.1. Debugging Containers</strong></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++11 mode, these additional
 
1829
+</p><div class="table"><a id="idm269999040896"></a><p class="title"><strong>Table 17.1. Debugging Containers</strong></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++11 mode, these additional
 
1830
 containers have additional debug capability.
 
1831
-</p><div class="table"><a id="idp16535296"></a><p class="title"><strong>Table 17.2. Debugging Containers C++11</strong></p><div class="table-contents"><table summary="Debugging Containers C++11" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="debug_mode_semantics.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="debug_mode_design.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
 
1832
\ No newline at end of file
 
1833
+</p><div class="table"><a id="idm269998996000"></a><p class="title"><strong>Table 17.2. Debugging Containers C++11</strong></p><div class="table-contents"><table summary="Debugging Containers C++11" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="debug_mode_semantics.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="debug_mode_design.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
 
1834
\ No newline at end of file
 
1835
Index: libstdc++-v3/doc/html/manual/parallel_mode.html
 
1836
===================================================================
 
1837
--- a/src/libstdc++-v3/doc/html/manual/parallel_mode.html       (.../tags/gcc_4_8_2_release)
 
1838
+++ b/src/libstdc++-v3/doc/html/manual/parallel_mode.html       (.../branches/gcc-4_8-branch)
 
1839
@@ -1,8 +1,8 @@
 
1840
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1841
-<!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. Parallel Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="debug_mode_design.html" title="Design" /><link rel="next" href="parallel_mode_semantics.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Parallel Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode_design.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1842
+<!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. Parallel Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, parallel" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="debug_mode_design.html" title="Design" /><link rel="next" href="parallel_mode_semantics.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Parallel Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode_design.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
1843
   Extensions
 
1844
   
 
1845
-</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_semantics.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"></a>Chapter 18. Parallel Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_test.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
 
1846
+</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode_semantics.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"></a>Chapter 18. Parallel Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_design.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="parallel_mode_test.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
 
1847
 implementation of many algorithms the C++ Standard Library.
 
1848
 </p><p>
 
1849
 Several of the standard algorithms, for instance
 
1850
@@ -12,11 +12,11 @@
 
1851
 specific compiler flag.
 
1852
 </p><div class="section"><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
 
1853
 <code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-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
 
1854
-<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-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"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="idp16926864"></a><p><span class="citetitle"><em class="citetitle">
 
1855
+<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-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"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="idm269998604464"></a><p><span class="citetitle"><em class="citetitle">
 
1856
       Parallelization of Bulk Operations for STL Dictionaries
 
1857
     </em>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Leonor</span> <span class="surname">Frias</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
 
1858
        Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
 
1859
-      . </span></span></p></div><div class="biblioentry"><a id="idp16931936"></a><p><span class="citetitle"><em class="citetitle">
 
1860
+      . </span></span></p></div><div class="biblioentry"><a id="idm269998599392"></a><p><span class="citetitle"><em class="citetitle">
 
1861
       The Multi-Core Standard Template Library
 
1862
     </em>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Peter</span> <span class="surname">Sanders</span>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Putze</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
 
1863
         Euro-Par 2007: Parallel Processing. (LNCS 4641)
 
1864
Index: libstdc++-v3/doc/html/manual/debug_mode_semantics.html
 
1865
===================================================================
 
1866
--- a/src/libstdc++-v3/doc/html/manual/debug_mode_semantics.html        (.../tags/gcc_4_8_2_release)
 
1867
+++ b/src/libstdc++-v3/doc/html/manual/debug_mode_semantics.html        (.../branches/gcc-4_8-branch)
 
1868
@@ -1,5 +1,5 @@
 
1869
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1870
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="next" href="debug_mode_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode_using.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1871
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="next" href="debug_mode_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode_using.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
1872
   </p><p>A program that uses the C++ standard library correctly
 
1873
   will maintain the same semantics under debug mode as it had with
 
1874
   the normal (release) library. All functional and exception-handling
 
1875
Index: libstdc++-v3/doc/html/manual/setup.html
 
1876
===================================================================
 
1877
--- a/src/libstdc++-v3/doc/html/manual/setup.html       (.../tags/gcc_4_8_2_release)
 
1878
+++ b/src/libstdc++-v3/doc/html/manual/setup.html       (.../branches/gcc-4_8-branch)
 
1879
@@ -1,8 +1,8 @@
 
1880
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1881
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="bugs.html" title="Bugs" /><link rel="next" href="configure.html" title="Configure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
 
1882
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="bugs.html" title="Bugs" /><link rel="next" href="configure.html" title="Configure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
 
1883
   Introduction
 
1884
   
 
1885
-</th><td width="20%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"></a>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
 
1886
+</th><td width="20%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"></a>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
 
1887
    and properly built binaries useful for linking to other software is
 
1888
    a multi-step process. Steps include getting the sources,
 
1889
    configuring and building the sources, testing, and installation.
 
1890
Index: libstdc++-v3/doc/html/manual/backwards.html
 
1891
===================================================================
 
1892
--- a/src/libstdc++-v3/doc/html/manual/backwards.html   (.../tags/gcc_4_8_2_release)
 
1893
+++ b/src/libstdc++-v3/doc/html/manual/backwards.html   (.../branches/gcc-4_8-branch)
 
1894
@@ -1,5 +1,5 @@
 
1895
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1896
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, backwards" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="api.html" title="API Evolution and Deprecation History" /><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1897
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, backwards" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="api.html" title="API Evolution and Deprecation History" /><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
1898
   Porting and Maintenance
 
1899
   
 
1900
 </th><td width="20%" align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.appendix.porting.backwards"></a>Backwards Compatibility</h2></div></div></div><div class="section"><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
 
1901
@@ -940,15 +940,15 @@
 
1902
   This is a change in behavior from older versions. Now, most
 
1903
   <span class="type">iterator_type</span> typedefs in container classes are POD
 
1904
   objects, not <span class="type">value_type</span> pointers.
 
1905
-</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="idp23415104"></a><p><span class="title"><em>
 
1906
+</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="idm269992117648"></a><p><span class="title"><em>
 
1907
        <a class="link" href="http://www.kegel.com/gcc/gcc4.html" target="_top">
 
1908
       Migrating to GCC 4.1
 
1909
        </a>
 
1910
-      </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="idp23417888"></a><p><span class="title"><em>
 
1911
+      </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="idm269992114864"></a><p><span class="title"><em>
 
1912
        <a class="link" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" target="_top">
 
1913
       Building the Whole Debian Archive with GCC 4.1: A Summary
 
1914
        </a>
 
1915
-      </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="idp23420736"></a><p><span class="title"><em>
 
1916
+      </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="idm269992112016"></a><p><span class="title"><em>
 
1917
        <a class="link" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html" target="_top">
 
1918
       Migration guide for GCC-3.2
 
1919
        </a>
 
1920
Index: libstdc++-v3/doc/html/manual/source_design_notes.html
 
1921
===================================================================
 
1922
--- a/src/libstdc++-v3/doc/html/manual/source_design_notes.html (.../tags/gcc_4_8_2_release)
 
1923
+++ b/src/libstdc++-v3/doc/html/manual/source_design_notes.html (.../branches/gcc-4_8-branch)
 
1924
@@ -1,5 +1,5 @@
 
1925
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1926
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_code_style.html" title="Coding Style" /><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
 
1927
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_code_style.html" title="Coding Style" /><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
 
1928
   Contributing
 
1929
   
 
1930
 </th><td width="20%" align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.design_notes"></a>Design Notes</h2></div></div></div><p>
 
1931
Index: libstdc++-v3/doc/html/manual/ext_sgi.html
 
1932
===================================================================
 
1933
--- a/src/libstdc++-v3/doc/html/manual/ext_sgi.html     (.../tags/gcc_4_8_2_release)
 
1934
+++ b/src/libstdc++-v3/doc/html/manual/ext_sgi.html     (.../branches/gcc-4_8-branch)
 
1935
@@ -1,5 +1,5 @@
 
1936
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1937
-<!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</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="prev" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="next" href="ext_utilities.html" title="Chapter 24. Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 23. HP/SGI Extensions</th><td width="20%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.deprecated_sgi"></a>Deprecated</h2></div></div></div><p>
 
1938
+<!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</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="prev" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="next" href="ext_utilities.html" title="Chapter 24. Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 23. HP/SGI Extensions</th><td width="20%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.deprecated_sgi"></a>Deprecated</h2></div></div></div><p>
 
1939
      The SGI hashing classes <code class="classname">hash_set</code> and
 
1940
      <code class="classname">hash_set</code> have been deprecated by the
 
1941
      unordered_set, unordered_multiset, unordered_map,
 
1942
Index: libstdc++-v3/doc/html/manual/facets.html
 
1943
===================================================================
 
1944
--- a/src/libstdc++-v3/doc/html/manual/facets.html      (.../tags/gcc_4_8_2_release)
 
1945
+++ b/src/libstdc++-v3/doc/html/manual/facets.html      (.../branches/gcc-4_8-branch)
 
1946
@@ -1,8 +1,8 @@
 
1947
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
1948
-<!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>Facets</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="localization.html" title="Chapter 8.  Localization" /><link rel="prev" href="localization.html" title="Chapter 8.  Localization" /><link rel="next" href="containers.html" title="Chapter 9.  Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8. 
 
1949
+<!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>Facets</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="localization.html" title="Chapter 8.  Localization" /><link rel="prev" href="localization.html" title="Chapter 8.  Localization" /><link rel="next" href="containers.html" title="Chapter 9.  Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8. 
 
1950
   Localization
 
1951
   
 
1952
-</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idp15778336"></a>Specializations</h5></div></div></div><p>
 
1953
+</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="idm269999753024"></a>Specializations</h5></div></div></div><p>
 
1954
 For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
 
1955
 conversions are made between the internal character set (always UCS4
 
1956
 on GNU/Linux) and whatever the currently selected locale for the
 
1957
@@ -49,24 +49,24 @@
 
1958
    </p></li><li class="listitem"><p>
 
1959
        Rename abstract base class. See if just smash-overriding is a
 
1960
        better approach. Clarify, add sanity to naming.
 
1961
-     </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15793392"></a><p><span class="citetitle"><em class="citetitle">
 
1962
+     </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idm269999738032"></a><p><span class="citetitle"><em class="citetitle">
 
1963
       The GNU C Library
 
1964
-    </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6  Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry"><a id="idp15798144"></a><p><span class="citetitle"><em class="citetitle">
 
1965
+    </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6  Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry"><a id="idm269999733280"></a><p><span class="citetitle"><em class="citetitle">
 
1966
       Correspondence
 
1967
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp15801232"></a><p><span class="citetitle"><em class="citetitle">
 
1968
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idm269999730192"></a><p><span class="citetitle"><em class="citetitle">
 
1969
       ISO/IEC 14882:1998 Programming languages - C++
 
1970
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp15803520"></a><p><span class="citetitle"><em class="citetitle">
 
1971
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idm269999727904"></a><p><span class="citetitle"><em class="citetitle">
 
1972
       ISO/IEC 9899:1999 Programming languages - C
 
1973
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idp15805792"></a><p><span class="title"><em>
 
1974
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idm269999725632"></a><p><span class="title"><em>
 
1975
        <a class="link" href="http://www.unix.org/version3/ieee_std.html" target="_top">
 
1976
        The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
 
1977
        </a>
 
1978
       </em>. </span><span class="copyright">Copyright © 1999 
 
1979
-      The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="idp15809040"></a><p><span class="citetitle"><em class="citetitle">
 
1980
+      The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="idm269999722384"></a><p><span class="citetitle"><em class="citetitle">
 
1981
       The C++ Programming Language, Special Edition
 
1982
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
 
1983
        Addison Wesley
 
1984
-      . </span></span></p></div><div class="biblioentry"><a id="idp15813664"></a><p><span class="citetitle"><em class="citetitle">
 
1985
+      . </span></span></p></div><div class="biblioentry"><a id="idm269999717760"></a><p><span class="citetitle"><em class="citetitle">
 
1986
       Standard C++ IOStreams and Locales
 
1987
     </em>. </span><span class="subtitle">
 
1988
       Advanced Programmer's Guide and Reference
 
1989
@@ -409,42 +409,42 @@
 
1990
       </p></li><li class="listitem"><p>
 
1991
       wchar_t/char internal buffers and conversions between
 
1992
       internal/external buffers?
 
1993
-      </p></li></ul></div></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15891136"></a><p><span class="citetitle"><em class="citetitle">
 
1994
+      </p></li></ul></div></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idm269999640080"></a><p><span class="citetitle"><em class="citetitle">
 
1995
       The GNU C Library
 
1996
     </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
 
1997
       Chapters 6 Character Set Handling and 7 Locales and Internationalization
 
1998
-    . </span></p></div><div class="biblioentry"><a id="idp15895888"></a><p><span class="citetitle"><em class="citetitle">
 
1999
+    . </span></p></div><div class="biblioentry"><a id="idm269999635328"></a><p><span class="citetitle"><em class="citetitle">
 
2000
       Correspondence
 
2001
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp15898976"></a><p><span class="citetitle"><em class="citetitle">
 
2002
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idm269999632240"></a><p><span class="citetitle"><em class="citetitle">
 
2003
       ISO/IEC 14882:1998 Programming languages - C++
 
2004
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp15901264"></a><p><span class="citetitle"><em class="citetitle">
 
2005
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idm269999629952"></a><p><span class="citetitle"><em class="citetitle">
 
2006
       ISO/IEC 9899:1999 Programming languages - C
 
2007
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idp15903536"></a><p><span class="title"><em>
 
2008
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idm269999627680"></a><p><span class="title"><em>
 
2009
        <a class="link" href="http://www.opengroup.org/austin/" target="_top">
 
2010
       System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
 
2011
        </a>
 
2012
       </em>. </span><span class="copyright">Copyright © 2008 
 
2013
        The Open Group/The Institute of Electrical and Electronics
 
2014
        Engineers, Inc.
 
2015
-      . </span></p></div><div class="biblioentry"><a id="idp15906768"></a><p><span class="citetitle"><em class="citetitle">
 
2016
+      . </span></p></div><div class="biblioentry"><a id="idm269999624448"></a><p><span class="citetitle"><em class="citetitle">
 
2017
       The C++ Programming Language, Special Edition
 
2018
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
 
2019
        Addison Wesley
 
2020
-      . </span></span></p></div><div class="biblioentry"><a id="idp15911392"></a><p><span class="citetitle"><em class="citetitle">
 
2021
+      . </span></span></p></div><div class="biblioentry"><a id="idm269999619824"></a><p><span class="citetitle"><em class="citetitle">
 
2022
       Standard C++ IOStreams and Locales
 
2023
     </em>. </span><span class="subtitle">
 
2024
       Advanced Programmer's Guide and Reference
 
2025
     . </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">
 
2026
        Addison Wesley Longman
 
2027
-      . </span></span></p></div><div class="biblioentry"><a id="idp15917056"></a><p><span class="title"><em>
 
2028
+      . </span></span></p></div><div class="biblioentry"><a id="idm269999614160"></a><p><span class="title"><em>
 
2029
        <a class="link" href="http://www.lysator.liu.se/c/na1.html" target="_top">
 
2030
       A brief description of Normative Addendum 1
 
2031
        </a>
 
2032
-      </em>. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry"><a id="idp15920304"></a><p><span class="title"><em>
 
2033
+      </em>. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry"><a id="idm269999610912"></a><p><span class="title"><em>
 
2034
        <a class="link" href="http://tldp.org/HOWTO/Unicode-HOWTO.html" target="_top">
 
2035
          The Unicode HOWTO
 
2036
        </a>
 
2037
-      </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="idp15923088"></a><p><span class="title"><em>
 
2038
+      </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="idm269999608128"></a><p><span class="title"><em>
 
2039
        <a class="link" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">
 
2040
       UTF-8 and Unicode FAQ for Unix/Linux
 
2041
        </a>
 
2042
@@ -690,39 +690,39 @@
 
2043
    model. As of this writing, it is unknown how to query to see
 
2044
    if a specified message catalog exists using the gettext
 
2045
    package.
 
2046
-   </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp16003632"></a><p><span class="citetitle"><em class="citetitle">
 
2047
+   </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idm269999527584"></a><p><span class="citetitle"><em class="citetitle">
 
2048
       The GNU C Library
 
2049
     </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling, and 7 Locales and Internationalization
 
2050
-    . </span></p></div><div class="biblioentry"><a id="idp16008384"></a><p><span class="citetitle"><em class="citetitle">
 
2051
+    . </span></p></div><div class="biblioentry"><a id="idm269999522832"></a><p><span class="citetitle"><em class="citetitle">
 
2052
       Correspondence
 
2053
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp16011472"></a><p><span class="citetitle"><em class="citetitle">
 
2054
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idm269999519744"></a><p><span class="citetitle"><em class="citetitle">
 
2055
       ISO/IEC 14882:1998 Programming languages - C++
 
2056
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp16013760"></a><p><span class="citetitle"><em class="citetitle">
 
2057
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idm269999517456"></a><p><span class="citetitle"><em class="citetitle">
 
2058
       ISO/IEC 9899:1999 Programming languages - C
 
2059
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idp16016032"></a><p><span class="title"><em>
 
2060
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idm269999515184"></a><p><span class="title"><em>
 
2061
        <a class="link" href="http://www.opengroup.org/austin/" target="_top">
 
2062
       System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
 
2063
        </a>
 
2064
       </em>. </span><span class="copyright">Copyright © 2008 
 
2065
        The Open Group/The Institute of Electrical and Electronics
 
2066
        Engineers, Inc.
 
2067
-      . </span></p></div><div class="biblioentry"><a id="idp16019264"></a><p><span class="citetitle"><em class="citetitle">
 
2068
+      . </span></p></div><div class="biblioentry"><a id="idm269999511952"></a><p><span class="citetitle"><em class="citetitle">
 
2069
       The C++ Programming Language, Special Edition
 
2070
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
 
2071
        Addison Wesley
 
2072
-      . </span></span></p></div><div class="biblioentry"><a id="idp16023888"></a><p><span class="citetitle"><em class="citetitle">
 
2073
+      . </span></span></p></div><div class="biblioentry"><a id="idm269999507328"></a><p><span class="citetitle"><em class="citetitle">
 
2074
       Standard C++ IOStreams and Locales
 
2075
     </em>. </span><span class="subtitle">
 
2076
       Advanced Programmer's Guide and Reference
 
2077
     . </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">
 
2078
        Addison Wesley Longman
 
2079
-      . </span></span></p></div><div class="biblioentry"><a id="idp16029552"></a><p><span class="title"><em>
 
2080
-       <a class="link" href="http://java.sun.com/reference/api/index.html" target="_top">
 
2081
+      . </span></span></p></div><div class="biblioentry"><a id="idm269999501664"></a><p><span class="title"><em>
 
2082
+       <a class="link" href="http://www.oracle.com/technetwork/java/api/index.html" target="_top">
 
2083
        API Specifications, Java Platform
 
2084
        </a>
 
2085
       </em>. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
 
2086
 java.util.Locale, java.util.ResourceBundle
 
2087
-    . </span></p></div><div class="biblioentry"><a id="idp16031888"></a><p><span class="title"><em>
 
2088
+    . </span></p></div><div class="biblioentry"><a id="idm269999499328"></a><p><span class="title"><em>
 
2089
        <a class="link" href="https://www.gnu.org/software/gettext/" target="_top">
 
2090
       GNU gettext tools, version 0.10.38, Native Language Support
 
2091
       Library and Tools.
 
2092
Index: libstdc++-v3/doc/html/manual/diagnostics.html
 
2093
===================================================================
 
2094
--- a/src/libstdc++-v3/doc/html/manual/diagnostics.html (.../tags/gcc_4_8_2_release)
 
2095
+++ b/src/libstdc++-v3/doc/html/manual/diagnostics.html (.../branches/gcc-4_8-branch)
 
2096
@@ -1,13 +1,13 @@
 
2097
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2098
-<!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.  Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="termination.html" title="Termination" /><link rel="next" href="concept_checking.html" title="Concept Checking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. 
 
2099
+<!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.  Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="termination.html" title="Termination" /><link rel="next" href="concept_checking.html" title="Concept Checking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. 
 
2100
   Diagnostics
 
2101
   
 
2102
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
2103
     Standard Contents
 
2104
   </th><td width="20%" align="right"> <a accesskey="n" href="concept_checking.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"></a>Chapter 5. 
 
2105
   Diagnostics
 
2106
-  <a id="idp13835248" class="indexterm"></a>
 
2107
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="concept_checking.html">Concept Checking</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.exceptions"></a>Exceptions</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"></a>API Reference</h3></div></div></div><p>
 
2108
+  <a id="idm270001697504" class="indexterm"></a>
 
2109
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="concept_checking.html">Concept Checking</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.exceptions"></a>Exceptions</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"></a>API Reference</h3></div></div></div><p>
 
2110
       All exception objects are defined in one of the standard header
 
2111
       files: <code class="filename">exception</code>,
 
2112
       <code class="filename">stdexcept</code>, <code class="filename">new</code>, and
 
2113
Index: libstdc++-v3/doc/html/manual/mt_allocator_design.html
 
2114
===================================================================
 
2115
--- a/src/libstdc++-v3/doc/html/manual/mt_allocator_design.html (.../tags/gcc_4_8_2_release)
 
2116
+++ b/src/libstdc++-v3/doc/html/manual/mt_allocator_design.html (.../branches/gcc-4_8-branch)
 
2117
@@ -1,5 +1,5 @@
 
2118
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2119
-<!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 Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="next" href="mt_allocator_impl.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_impl.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.design_issues"></a>Design Issues</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.overview"></a>Overview</h3></div></div></div><p> There are three general components to the allocator: a datum
 
2120
+<!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 Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="next" href="mt_allocator_impl.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_impl.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.design_issues"></a>Design Issues</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.overview"></a>Overview</h3></div></div></div><p> There are three general components to the allocator: a datum
 
2121
 describing the characteristics of the memory pool, a policy class
 
2122
 containing this pool that links instantiation types to common or
 
2123
 individual pools, and a class inheriting from the policy class that is
 
2124
Index: libstdc++-v3/doc/html/manual/appendix_free.html
 
2125
===================================================================
 
2126
--- a/src/libstdc++-v3/doc/html/manual/appendix_free.html       (.../tags/gcc_4_8_2_release)
 
2127
+++ b/src/libstdc++-v3/doc/html/manual/appendix_free.html       (.../branches/gcc-4_8-branch)
 
2128
@@ -1,12 +1,12 @@
 
2129
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2130
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="backwards.html" title="Backwards Compatibility" /><link rel="next" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. 
 
2131
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="backwards.html" title="Backwards Compatibility" /><link rel="next" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. 
 
2132
   Free Software Needs Free Documentation
 
2133
   
 
2134
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">Part IV. 
 
2135
   Appendices
 
2136
 </th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.free"></a>
 
2137
   Free Software Needs Free Documentation
 
2138
-  <a id="idp23426192" class="indexterm"></a>
 
2139
+  <a id="idm269992106560" class="indexterm"></a>
 
2140
 </h1></div></div></div><p>
 
2141
 The biggest deficiency in free operating systems is not in the
 
2142
 software--it is the lack of good free manuals that we can include in
 
2143
Index: libstdc++-v3/doc/html/manual/algorithms.html
 
2144
===================================================================
 
2145
--- a/src/libstdc++-v3/doc/html/manual/algorithms.html  (.../tags/gcc_4_8_2_release)
 
2146
+++ b/src/libstdc++-v3/doc/html/manual/algorithms.html  (.../branches/gcc-4_8-branch)
 
2147
@@ -1,13 +1,13 @@
 
2148
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2149
-<!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.  Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library, algorithm" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="iterators.html" title="Chapter 10.  Iterators" /><link rel="next" href="numerics.html" title="Chapter 12.  Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. 
 
2150
+<!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.  Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library, algorithm" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="iterators.html" title="Chapter 10.  Iterators" /><link rel="next" href="numerics.html" title="Chapter 12.  Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. 
 
2151
   Algorithms
 
2152
   
 
2153
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
2154
     Standard Contents
 
2155
   </th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"></a>Chapter 11. 
 
2156
   Algorithms
 
2157
-  <a id="idp16191968" class="indexterm"></a>
 
2158
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></div><p>
 
2159
+  <a id="idm269999339120" class="indexterm"></a>
 
2160
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></div><p>
 
2161
   The neatest accomplishment of the algorithms section is that all the
 
2162
   work is done via iterators, not containers directly.  This means two
 
2163
   important things:
 
2164
Index: libstdc++-v3/doc/html/manual/appendix_porting.html
 
2165
===================================================================
 
2166
--- a/src/libstdc++-v3/doc/html/manual/appendix_porting.html    (.../tags/gcc_4_8_2_release)
 
2167
+++ b/src/libstdc++-v3/doc/html/manual/appendix_porting.html    (.../branches/gcc-4_8-branch)
 
2168
@@ -1,13 +1,13 @@
 
2169
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2170
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="source_design_notes.html" title="Design Notes" /><link rel="next" href="documentation_hacking.html" title="Writing and Generating Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. 
 
2171
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="source_design_notes.html" title="Design Notes" /><link rel="next" href="documentation_hacking.html" title="Writing and Generating Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. 
 
2172
   Porting and Maintenance
 
2173
   
 
2174
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">Part IV. 
 
2175
   Appendices
 
2176
 </th><td width="20%" align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.porting"></a>
 
2177
   Porting and Maintenance
 
2178
-  <a id="idp22008864" class="indexterm"></a>
 
2179
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview">Overview</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.basic">General Process</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.map">What Comes from Where</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure">Configure</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.make">Make</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
 
2180
+  <a id="idm269993523968" class="indexterm"></a>
 
2181
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview">Overview</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.basic">General Process</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.map">What Comes from Where</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure">Configure</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.make">Make</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
 
2182
   Qualifying Exception Safety Guarantees
 
2183
   
 
2184
 </a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety.overview">Overview</a></span></dt><dt><span class="section"><a href="test.html#test.exception.safety.status">
 
2185
@@ -61,7 +61,7 @@
 
2186
 in the build directory starts the build process. The <code class="literal">all</code> target comes from the <code class="filename">Makefile</code> file, which is  generated via <span class="command"><strong>configure</strong></span> from the <code class="filename">Makefile.in</code> file, which is in turn generated (via
 
2187
 <span class="command"><strong>automake</strong></span>) from the file
 
2188
 <code class="filename">Makefile.am</code>.
 
2189
-</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.overview.map"></a>What Comes from Where</h4></div></div></div><div class="figure"><a id="idp22035648"></a><p class="title"><strong>Figure B.1. Configure and Build File Dependencies</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/confdeps.png" align="middle" alt="Dependency Graph for Configure and Build Files" /></div></div></div><br class="figure-break" /><p>
 
2190
+</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.overview.map"></a>What Comes from Where</h4></div></div></div><div class="figure"><a id="idm269993497120"></a><p class="title"><strong>Figure B.1. Configure and Build File Dependencies</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/confdeps.png" align="middle" alt="Dependency Graph for Configure and Build Files" /></div></div></div><br class="figure-break" /><p>
 
2191
     Regenerate all generated files by using the command 
 
2192
     <code class="code">autoreconf</code> at the top level of the libstdc++ source
 
2193
     directory.
 
2194
Index: libstdc++-v3/doc/html/manual/profile_mode_cost_model.html
 
2195
===================================================================
 
2196
--- a/src/libstdc++-v3/doc/html/manual/profile_mode_cost_model.html     (.../tags/gcc_4_8_2_release)
 
2197
+++ b/src/libstdc++-v3/doc/html/manual/profile_mode_cost_model.html     (.../branches/gcc-4_8-branch)
 
2198
@@ -1,5 +1,5 @@
 
2199
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2200
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_api.html" title="Extensions for Custom Containers" /><link rel="next" href="profile_mode_impl.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="profile_mode_api.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_impl.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
2201
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_api.html" title="Extensions for Custom Containers" /><link rel="next" href="profile_mode_impl.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="profile_mode_api.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_impl.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
2202
   Currently, the cost model uses formulas with predefined relative weights
 
2203
   for alternative containers or container implementations.  For instance,
 
2204
   iterating through a vector is X times faster than iterating through a list.
 
2205
Index: libstdc++-v3/doc/html/manual/make.html
 
2206
===================================================================
 
2207
--- a/src/libstdc++-v3/doc/html/manual/make.html        (.../tags/gcc_4_8_2_release)
 
2208
+++ b/src/libstdc++-v3/doc/html/manual/make.html        (.../branches/gcc-4_8-branch)
 
2209
@@ -1,5 +1,5 @@
 
2210
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2211
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="configure.html" title="Configure" /><link rel="next" href="using.html" title="Chapter 3. Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr /></div><div class="section"><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
 
2212
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="configure.html" title="Configure" /><link rel="next" href="using.html" title="Chapter 3. Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr /></div><div class="section"><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
 
2213
       <a class="link" href="http://gcc.gnu.org/install/" target="_top">GCC Installation
 
2214
       Instructions</a> first.  Read <span class="emphasis"><em>all of them</em></span>.
 
2215
       <span class="emphasis"><em>Twice.</em></span>
 
2216
Index: libstdc++-v3/doc/html/manual/pairs.html
 
2217
===================================================================
 
2218
--- a/src/libstdc++-v3/doc/html/manual/pairs.html       (.../tags/gcc_4_8_2_release)
 
2219
+++ b/src/libstdc++-v3/doc/html/manual/pairs.html       (.../branches/gcc-4_8-branch)
 
2220
@@ -1,5 +1,5 @@
 
2221
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2222
-<!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>Pairs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="next" href="memory.html" title="Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Pairs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
 
2223
+<!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>Pairs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="next" href="memory.html" title="Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Pairs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
 
2224
   Utilities
 
2225
   
 
2226
 </th><td width="20%" align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.pairs"></a>Pairs</h2></div></div></div><p>The <code class="code">pair&lt;T1,T2&gt;</code> is a simple and handy way to
 
2227
Index: libstdc++-v3/doc/html/manual/test.html
 
2228
===================================================================
 
2229
--- a/src/libstdc++-v3/doc/html/manual/test.html        (.../tags/gcc_4_8_2_release)
 
2230
+++ b/src/libstdc++-v3/doc/html/manual/test.html        (.../branches/gcc-4_8-branch)
 
2231
@@ -1,5 +1,5 @@
 
2232
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2233
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, test, testsuite, performance, conformance, ABI, exception safety" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems" /><link rel="next" href="abi.html" title="ABI Policy and Guidelines" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
2234
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, test, testsuite, performance, conformance, ABI, exception safety" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems" /><link rel="next" href="abi.html" title="ABI Policy and Guidelines" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
 
2235
   Porting and Maintenance
 
2236
   
 
2237
 </th><td width="20%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.test"></a>Test</h2></div></div></div><p>
 
2238
@@ -492,7 +492,7 @@
 
2239
        reporting functions including:
 
2240
        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"></a>Special Topics</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"></a>
 
2241
   Qualifying Exception Safety Guarantees
 
2242
-  <a id="idp22628992" class="indexterm"></a>
 
2243
+  <a id="idm269992903504" class="indexterm"></a>
 
2244
 </h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"></a>Overview</h5></div></div></div><p>
 
2245
         Testing is composed of running a particular test sequence,
 
2246
         and looking at what happens to the surrounding code when
 
2247
Index: libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
 
2248
===================================================================
 
2249
--- a/src/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html     (.../tags/gcc_4_8_2_release)
 
2250
+++ b/src/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html     (.../branches/gcc-4_8-branch)
 
2251
@@ -1,5 +1,5 @@
 
2252
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2253
-<!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>Linking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_namespaces.html" title="Namespaces" /><link rel="next" href="using_concurrency.html" title="Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Linking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.linkage"></a>Linking</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.freestanding"></a>Almost Nothing</h3></div></div></div><p>
 
2254
+<!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>Linking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_namespaces.html" title="Namespaces" /><link rel="next" href="using_concurrency.html" title="Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Linking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.linkage"></a>Linking</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.freestanding"></a>Almost Nothing</h3></div></div></div><p>
 
2255
        Or as close as it gets: freestanding. This is a minimal
 
2256
        configuration, with only partial support for the standard
 
2257
        library. Assume only the following header files can be used:
 
2258
Index: libstdc++-v3/doc/html/manual/using_headers.html
 
2259
===================================================================
 
2260
--- a/src/libstdc++-v3/doc/html/manual/using_headers.html       (.../tags/gcc_4_8_2_release)
 
2261
+++ b/src/libstdc++-v3/doc/html/manual/using_headers.html       (.../branches/gcc-4_8-branch)
 
2262
@@ -1,5 +1,5 @@
 
2263
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2264
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using.html" title="Chapter 3. Using" /><link rel="next" href="using_macros.html" title="Macros" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.headers"></a>Headers</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"></a>Header Files</h3></div></div></div><p>
 
2265
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using.html" title="Chapter 3. Using" /><link rel="next" href="using_macros.html" title="Macros" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.headers"></a>Headers</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"></a>Header Files</h3></div></div></div><p>
 
2266
      The C++ standard specifies the entire set of header files that
 
2267
      must be available to all hosted implementations.  Actually, the
 
2268
      word "files" is a misnomer, since the contents of the
 
2269
@@ -18,19 +18,19 @@
 
2270
      the 1998 standard as updated for 2003, and the current 2011 standard.
 
2271
    </p><p>
 
2272
      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>.
 
2273
-   </p><div class="table"><a id="idp13079360"></a><p class="title"><strong>Table 3.2. C++ 1998 Library Headers</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13115840"></a><p class="title"><strong>Table 3.3. C++ 1998 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2274
+   </p><div class="table"><a id="idm270002453792"></a><p class="title"><strong>Table 3.2. C++ 1998 Library Headers</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idm270002417312"></a><p class="title"><strong>Table 3.3. C++ 1998 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2275
 C++11 include files. These are only available in C++11 compilation
 
2276
 mode, i.e. <code class="literal">-std=c++11</code> or <code class="literal">-std=gnu++11</code>.
 
2277
-</p><p></p><div class="table"><a id="idp13140576"></a><p class="title"><strong>Table 3.4. C++ 2011 Library Headers</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13192016"></a><p class="title"><strong>Table 3.5. C++ 2011 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdbool</code></td></tr><tr><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2278
+</p><p></p><div class="table"><a id="idm270002392576"></a><p class="title"><strong>Table 3.4. C++ 2011 Library Headers</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idm270002341136"></a><p class="title"><strong>Table 3.5. C++ 2011 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdbool</code></td></tr><tr><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2279
   In addition, TR1 includes as:
 
2280
-</p><div class="table"><a id="idp13221904"></a><p class="title"><strong>Table 3.6. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13238832"></a><p class="title"><strong>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
 
2281
+</p><div class="table"><a id="idm270002311248"></a><p class="title"><strong>Table 3.6. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idm270002294320"></a><p class="title"><strong>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
 
2282
 compiler supports scalar decimal floating-point types defined via
 
2283
 <code class="code">__attribute__((mode(SD|DD|LD)))</code>.
 
2284
-</p><div class="table"><a id="idp13259904"></a><p class="title"><strong>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2285
+</p><div class="table"><a id="idm270002273248"></a><p class="title"><strong>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2286
   Also included are files for the C++ ABI interface:
 
2287
-</p><div class="table"><a id="idp13265424"></a><p class="title"><strong>Table 3.9. C++ ABI Headers</strong></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2288
+</p><div class="table"><a id="idm270002267728"></a><p class="title"><strong>Table 3.9. C++ ABI Headers</strong></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2289
   And a large variety of extensions.
 
2290
-</p><div class="table"><a id="idp13271824"></a><p class="title"><strong>Table 3.10. Extension Headers</strong></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13307552"></a><p class="title"><strong>Table 3.11. Extension Debug Headers</strong></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13322320"></a><p class="title"><strong>Table 3.12. Extension Profile Headers</strong></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13335696"></a><p class="title"><strong>Table 3.13. Extension Parallel Headers</strong></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><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.
 
2291
+</p><div class="table"><a id="idm270002261328"></a><p class="title"><strong>Table 3.10. Extension Headers</strong></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idm270002225600"></a><p class="title"><strong>Table 3.11. Extension Debug Headers</strong></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idm270002210832"></a><p class="title"><strong>Table 3.12. Extension Profile Headers</strong></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idm270002197456"></a><p class="title"><strong>Table 3.13. Extension Parallel Headers</strong></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><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.
 
2292
 </p><p>First, mixing different dialects of the standard headers is not
 
2293
 possible. It's an all-or-nothing affair. Thus, code like
 
2294
 </p><pre class="programlisting">
 
2295
Index: libstdc++-v3/doc/html/manual/using_namespaces.html
 
2296
===================================================================
 
2297
--- a/src/libstdc++-v3/doc/html/manual/using_namespaces.html    (.../tags/gcc_4_8_2_release)
 
2298
+++ b/src/libstdc++-v3/doc/html/manual/using_namespaces.html    (.../branches/gcc-4_8-branch)
 
2299
@@ -1,5 +1,5 @@
 
2300
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2301
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_macros.html" title="Macros" /><link rel="next" href="using_dynamic_or_shared.html" title="Linking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Namespaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.namespaces"></a>Namespaces</h2></div></div></div><div class="section"><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.
 
2302
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_macros.html" title="Macros" /><link rel="next" href="using_dynamic_or_shared.html" title="Linking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Namespaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.namespaces"></a>Namespaces</h2></div></div></div><div class="section"><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.
 
2303
 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>std</p><p>The ISO C++ standards specify that "all library entities are defined
 
2304
 within namespace std." This includes namespaces nested
 
2305
 within <code class="code">namespace std</code>, such as <code class="code">namespace
 
2306
Index: libstdc++-v3/doc/html/manual/debug.html
 
2307
===================================================================
 
2308
--- a/src/libstdc++-v3/doc/html/manual/debug.html       (.../tags/gcc_4_8_2_release)
 
2309
+++ b/src/libstdc++-v3/doc/html/manual/debug.html       (.../branches/gcc-4_8-branch)
 
2310
@@ -1,5 +1,5 @@
 
2311
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2312
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_exceptions.html" title="Exceptions" /><link rel="next" href="std_contents.html" title="Part II.  Standard Contents" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="std_contents.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
2313
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_exceptions.html" title="Exceptions" /><link rel="next" href="std_contents.html" title="Part II.  Standard Contents" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="std_contents.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
2314
   There are numerous things that can be done to improve the ease with
 
2315
   which C++ binaries are debugged when using the GNU tool chain. Here
 
2316
   are some of them.
 
2317
@@ -161,7 +161,7 @@
 
2318
   DRD</a>,
 
2319
   <a class="link" href="http://valgrind.org/docs/manual/hg-manual.html" target="_top"> 
 
2320
   Helgrind</a>, and
 
2321
-  <a class="link" href="http://code.google.com/p/data-race-test" target="_top"> 
 
2322
+  <a class="link" href="http://code.google.com/p/data-race-test/" target="_top"> 
 
2323
   ThreadSanitizer</a>.
 
2324
 </p><p>
 
2325
   With DRD, Helgrind and ThreadSanitizer you will need to define
 
2326
Index: libstdc++-v3/doc/html/manual/localization.html
 
2327
===================================================================
 
2328
--- a/src/libstdc++-v3/doc/html/manual/localization.html        (.../tags/gcc_4_8_2_release)
 
2329
+++ b/src/libstdc++-v3/doc/html/manual/localization.html        (.../branches/gcc-4_8-branch)
 
2330
@@ -1,13 +1,13 @@
 
2331
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2332
-<!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.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="strings.html" title="Chapter 7.  Strings" /><link rel="next" href="facets.html" title="Facets" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
 
2333
+<!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.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="strings.html" title="Chapter 7.  Strings" /><link rel="next" href="facets.html" title="Facets" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
 
2334
   Localization
 
2335
   
 
2336
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
2337
     Standard Contents
 
2338
   </th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"></a>Chapter 8. 
 
2339
   Localization
 
2340
-  <a id="idp15701088" class="indexterm"></a>
 
2341
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idp15778336">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
 
2342
+  <a id="idm269999830208" class="indexterm"></a>
 
2343
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idm269999753024">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
 
2344
 Describes the basic locale object, including nested
 
2345
 classes id, facet, and the reference-counted implementation object,
 
2346
 class _Impl.
 
2347
@@ -402,29 +402,29 @@
 
2348
        What should non-required facet instantiations do?  If the
 
2349
        generic implementation is provided, then how to end-users
 
2350
        provide specializations?
 
2351
-   </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15744064"></a><p><span class="citetitle"><em class="citetitle">
 
2352
+   </p></li></ul></div></div><div class="bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idm269999787232"></a><p><span class="citetitle"><em class="citetitle">
 
2353
       The GNU C Library
 
2354
     </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
 
2355
       Chapters 6 Character Set Handling and 7 Locales and
 
2356
       Internationalization
 
2357
-    . </span></p></div><div class="biblioentry"><a id="idp15748832"></a><p><span class="citetitle"><em class="citetitle">
 
2358
+    . </span></p></div><div class="biblioentry"><a id="idm269999782464"></a><p><span class="citetitle"><em class="citetitle">
 
2359
       Correspondence
 
2360
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp15751920"></a><p><span class="citetitle"><em class="citetitle">
 
2361
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idm269999779376"></a><p><span class="citetitle"><em class="citetitle">
 
2362
       ISO/IEC 14882:1998 Programming languages - C++
 
2363
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp15754208"></a><p><span class="citetitle"><em class="citetitle">
 
2364
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idm269999777088"></a><p><span class="citetitle"><em class="citetitle">
 
2365
       ISO/IEC 9899:1999 Programming languages - C
 
2366
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idp15756480"></a><p><span class="title"><em>
 
2367
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="idm269999774816"></a><p><span class="title"><em>
 
2368
        <a class="link" href="http://www.opengroup.org/austin/" target="_top">
 
2369
       System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
 
2370
        </a>
 
2371
       </em>. </span><span class="copyright">Copyright © 2008 
 
2372
        The Open Group/The Institute of Electrical and Electronics
 
2373
        Engineers, Inc.
 
2374
-      . </span></p></div><div class="biblioentry"><a id="idp15759712"></a><p><span class="citetitle"><em class="citetitle">
 
2375
+      . </span></p></div><div class="biblioentry"><a id="idm269999771584"></a><p><span class="citetitle"><em class="citetitle">
 
2376
       The C++ Programming Language, Special Edition
 
2377
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
 
2378
        Addison Wesley
 
2379
-      . </span></span></p></div><div class="biblioentry"><a id="idp15764336"></a><p><span class="citetitle"><em class="citetitle">
 
2380
+      . </span></span></p></div><div class="biblioentry"><a id="idm269999766960"></a><p><span class="citetitle"><em class="citetitle">
 
2381
       Standard C++ IOStreams and Locales
 
2382
     </em>. </span><span class="subtitle">
 
2383
       Advanced Programmer's Guide and Reference
 
2384
Index: libstdc++-v3/doc/html/manual/ext_algorithms.html
 
2385
===================================================================
 
2386
--- a/src/libstdc++-v3/doc/html/manual/ext_algorithms.html      (.../tags/gcc_4_8_2_release)
 
2387
+++ b/src/libstdc++-v3/doc/html/manual/ext_algorithms.html      (.../branches/gcc-4_8-branch)
 
2388
@@ -1,5 +1,5 @@
 
2389
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2390
-<!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. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_utilities.html" title="Chapter 24. Utilities" /><link rel="next" href="ext_numerics.html" title="Chapter 26. Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Algorithms</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
2391
+<!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. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_utilities.html" title="Chapter 24. Utilities" /><link rel="next" href="ext_numerics.html" title="Chapter 26. Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Algorithms</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
2392
   Extensions
 
2393
   
 
2394
 </th><td width="20%" align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"></a>Chapter 25. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
 
2395
Index: libstdc++-v3/doc/html/manual/debug_mode.html
 
2396
===================================================================
 
2397
--- a/src/libstdc++-v3/doc/html/manual/debug_mode.html  (.../tags/gcc_4_8_2_release)
 
2398
+++ b/src/libstdc++-v3/doc/html/manual/debug_mode.html  (.../branches/gcc-4_8-branch)
 
2399
@@ -1,8 +1,8 @@
 
2400
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2401
-<!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. Debug Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /><link rel="next" href="debug_mode_semantics.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Debug Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
2402
+<!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. Debug Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, debug" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /><link rel="next" href="debug_mode_semantics.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Debug Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part III. 
 
2403
   Extensions
 
2404
   
 
2405
-</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode_semantics.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"></a>Chapter 17. Debug Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span class="section"><a href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.link">Link- and run-time coexistence of release- and
 
2406
+</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode_semantics.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"></a>Chapter 17. Debug Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span class="section"><a href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="debug_mode_using.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.link">Link- and run-time coexistence of release- and
 
2407
     debug-mode components</a></span></dt><dt><span class="section"><a href="debug_mode_design.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug_mode_design.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></div><div class="section"><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>
 
2408
     By default, libstdc++ is built with efficiency in mind, and
 
2409
     therefore performs little or no error checking that is not
 
2410
Index: libstdc++-v3/doc/html/manual/profile_mode_design.html
 
2411
===================================================================
 
2412
--- a/src/libstdc++-v3/doc/html/manual/profile_mode_design.html (.../tags/gcc_4_8_2_release)
 
2413
+++ b/src/libstdc++-v3/doc/html/manual/profile_mode_design.html (.../branches/gcc-4_8-branch)
 
2414
@@ -1,6 +1,6 @@
 
2415
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2416
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="next" href="profile_mode_api.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_api.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
2417
-</p><div class="table"><a id="idp16981200"></a><p class="title"><strong>Table 19.1. Profile Code Location</strong></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals.  Implementation files are
 
2418
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="next" href="profile_mode_api.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_api.html">Next</a></td></tr></table><hr /></div><div class="section"><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>
 
2419
+</p><div class="table"><a id="idm269998550064"></a><p class="title"><strong>Table 19.1. Profile Code Location</strong></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals.  Implementation files are
 
2420
      only included from <code class="code">impl/profiler.h</code>, which is the only
 
2421
      file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break" /><p>
 
2422
 </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
 
2423
Index: libstdc++-v3/doc/html/manual/using_concurrency.html
 
2424
===================================================================
 
2425
--- a/src/libstdc++-v3/doc/html/manual/using_concurrency.html   (.../tags/gcc_4_8_2_release)
 
2426
+++ b/src/libstdc++-v3/doc/html/manual/using_concurrency.html   (.../branches/gcc-4_8-branch)
 
2427
@@ -1,5 +1,5 @@
 
2428
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2429
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_dynamic_or_shared.html" title="Linking" /><link rel="next" href="using_exceptions.html" title="Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr /></div><div class="section"><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
 
2430
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_dynamic_or_shared.html" title="Linking" /><link rel="next" href="using_exceptions.html" title="Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr /></div><div class="section"><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
 
2431
       of multithreaded applications which use the Standard C++
 
2432
       library.  This information is GCC-specific since the C++
 
2433
       standard does not address matters of multithreaded applications.
 
2434
Index: libstdc++-v3/doc/html/manual/mt_allocator_impl.html
 
2435
===================================================================
 
2436
--- a/src/libstdc++-v3/doc/html/manual/mt_allocator_impl.html   (.../tags/gcc_4_8_2_release)
 
2437
+++ b/src/libstdc++-v3/doc/html/manual/mt_allocator_impl.html   (.../branches/gcc-4_8-branch)
 
2438
@@ -1,5 +1,5 @@
 
2439
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2440
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator_design.html" title="Design Issues" /><link rel="next" href="mt_allocator_ex_single.html" title="Single Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_design.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_ex_single.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.impl"></a>Implementation</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.tune"></a>Tunable Parameters</h3></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
 
2441
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, allocator" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator_design.html" title="Design Issues" /><link rel="next" href="mt_allocator_ex_single.html" title="Single Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator_design.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator_ex_single.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.impl"></a>Implementation</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.tune"></a>Tunable Parameters</h3></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
 
2442
 exists a nested <code class="code">struct __pool_base::_Tune</code> that contains all
 
2443
 these parameters, which include settings for
 
2444
 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-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
 
2445
Index: libstdc++-v3/doc/html/manual/appendix_gfdl.html
 
2446
===================================================================
 
2447
--- a/src/libstdc++-v3/doc/html/manual/appendix_gfdl.html       (.../tags/gcc_4_8_2_release)
 
2448
+++ b/src/libstdc++-v3/doc/html/manual/appendix_gfdl.html       (.../branches/gcc-4_8-branch)
 
2449
@@ -1,5 +1,5 @@
 
2450
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2451
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /><link rel="next" href="../bk02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">Part IV. 
 
2452
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /><link rel="next" href="../bk02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">Part IV. 
 
2453
   Appendices
 
2454
 </th><td width="20%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gfdl-1.3"></a>GNU Free Documentation License</h1></div></div></div><p>Version 1.3, 3 November 2008</p><p>
 
2455
     Copyright © 2000, 2001, 2002, 2007, 2008
 
2456
Index: libstdc++-v3/doc/html/manual/containers.html
 
2457
===================================================================
 
2458
--- a/src/libstdc++-v3/doc/html/manual/containers.html  (.../tags/gcc_4_8_2_release)
 
2459
+++ b/src/libstdc++-v3/doc/html/manual/containers.html  (.../branches/gcc-4_8-branch)
 
2460
@@ -1,13 +1,13 @@
 
2461
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2462
-<!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.  Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="facets.html" title="Facets" /><link rel="next" href="associative.html" title="Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. 
 
2463
+<!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.  Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="facets.html" title="Facets" /><link rel="next" href="associative.html" title="Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. 
 
2464
   Containers
 
2465
   
 
2466
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
2467
     Standard Contents
 
2468
   </th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"></a>Chapter 9. 
 
2469
   Containers
 
2470
-  <a id="idp16037808" class="indexterm"></a>
 
2471
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="unordered_associative.html">Unordered Associative</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.hash">Hash Code</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.cache">Hash Code Caching Policy</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.sequences"></a>Sequences</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"></a>list</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h4></div></div></div><p>
 
2472
+  <a id="idm269999493408" class="indexterm"></a>
 
2473
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="unordered_associative.html">Unordered Associative</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.hash">Hash Code</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.cache">Hash Code Caching Policy</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.sequences"></a>Sequences</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"></a>list</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h4></div></div></div><p>
 
2474
      Yes it is, and that's okay.  This is a decision that we preserved
 
2475
      when we imported SGI's STL implementation.  The following is
 
2476
      quoted from <a class="link" href="http://www.sgi.com/tech/stl/FAQ.html" target="_top">their FAQ</a>:
 
2477
Index: libstdc++-v3/doc/html/manual/io.html
 
2478
===================================================================
 
2479
--- a/src/libstdc++-v3/doc/html/manual/io.html  (.../tags/gcc_4_8_2_release)
 
2480
+++ b/src/libstdc++-v3/doc/html/manual/io.html  (.../branches/gcc-4_8-branch)
 
2481
@@ -1,13 +1,13 @@
 
2482
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2483
-<!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.  Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="numerics_and_c.html" title="Interacting with C" /><link rel="next" href="streambufs.html" title="Stream Buffers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. 
 
2484
+<!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.  Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="numerics_and_c.html" title="Interacting with C" /><link rel="next" href="streambufs.html" title="Stream Buffers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. 
 
2485
   Input and Output
 
2486
   
 
2487
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
2488
     Standard Contents
 
2489
   </th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"></a>Chapter 13. 
 
2490
   Input and Output
 
2491
-  <a id="idp16257600" class="indexterm"></a>
 
2492
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="section"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="section"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="section"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="section"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="section"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="section"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="section"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.objects"></a>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
 
2493
+  <a id="idm269999273616" class="indexterm"></a>
 
2494
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="section"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="section"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="section"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="section"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="section"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="section"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="section"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.objects"></a>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
 
2495
       only include the headers you really need.  Many people simply include
 
2496
       &lt;iostream&gt; when they don't need to -- and that can <span class="emphasis"><em>penalize
 
2497
       your runtime as well.</em></span>  Here are some tips on which header to use
 
2498
Index: libstdc++-v3/doc/html/manual/index.html
 
2499
===================================================================
 
2500
--- a/src/libstdc++-v3/doc/html/manual/index.html       (.../tags/gcc_4_8_2_release)
 
2501
+++ b/src/libstdc++-v3/doc/html/manual/index.html       (.../branches/gcc-4_8-branch)
 
2502
@@ -1,7 +1,7 @@
 
2503
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2504
-<!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 Manual</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="../index.html" title="The GNU C++ Library" /><link rel="prev" href="../index.html" title="The GNU C++ Library" /><link rel="next" href="intro.html" title="Part I.  Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Manual</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="manual"></a>The GNU C++ Library Manual</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname"></span></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 
 
2505
+<!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 Manual</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="../index.html" title="The GNU C++ Library" /><link rel="prev" href="../index.html" title="The GNU C++ Library" /><link rel="next" href="intro.html" title="Part I.  Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Manual</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="manual"></a>The GNU C++ Library Manual</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname"></span></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 
 
2506
       <a class="link" href="http://www.fsf.org" target="_top">FSF</a>
 
2507
-    </p></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="part"><a href="intro.html">I. 
 
2508
+    </p></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="part"><a href="intro.html">I. 
 
2509
   Introduction
 
2510
   
 
2511
 </a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="std_contents.html">II. 
 
2512
@@ -15,13 +15,13 @@
 
2513
 </a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="concept_checking.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="utilities.html">6. 
 
2514
   Utilities
 
2515
   
 
2516
-</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp13920976">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idp13924528">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp13937824">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15512272">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idp15534784">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idp15542080">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp15556704">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15573056">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idp15576640">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
 
2517
+</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm270001611968">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idm270001608416">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idm270001595120">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm270000019344">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idm269999996832">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idm269999989536">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idm269999974912">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm269999958496">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idm269999954912">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
 
2518
   Strings
 
2519
   
 
2520
 </a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="localization.html">8. 
 
2521
   Localization
 
2522
   
 
2523
-</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idp15778336">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
 
2524
+</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idm269999753024">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
 
2525
   Containers
 
2526
   
 
2527
 </a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="unordered_associative.html">Unordered Associative</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.hash">Hash Code</a></span></dt><dd><dl><dt><span class="section"><a href="unordered_associative.html#containers.unordered.cache">Hash Code Caching Policy</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="iterators.html">10. 
 
2528
@@ -143,19 +143,19 @@
 
2529
   
 
2530
 </a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D. 
 
2531
     <acronym class="acronym">GNU</acronym> General Public License version 3
 
2532
-  </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>22.1. <a href="policy_data_structures.html#idp17613296">Node Invariants</a></dt><dt>22.2. <a href="policy_data_structures.html#idp17619952">Underlying Associative Data Structures</a></dt><dt>22.3. <a href="policy_data_structures.html#idp17651648">Range Iteration in Different Data Structures</a></dt><dt>22.4. <a href="policy_data_structures.html#idp17666528">Point Iteration in Hash Data Structures</a></dt><dt>22.5. <a href="policy_data_structures.html#idp17675840">Effect of erase in different underlying data structures</a></dt><dt>22.6. <a href="policy_data_structures.html#idp17743424">Underlying Priority Queue Data Structures</a></dt><dt>22.7. <a href="policy_data_structures_using.html#idp17806128">Exception Hierarchy</a></dt><dt>22.8. <a href="policy_data_structures_design.html#idp18000448">Non-unique Mapping Standard Containers</a></dt><dt>22.9. <a href="policy_data_structures_design.html#fig.pbds_embedded_lists_2">
 
2533
+  </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>22.1. <a href="policy_data_structures.html#idm269997917584">Node Invariants</a></dt><dt>22.2. <a href="policy_data_structures.html#idm269997910864">Underlying Associative Data Structures</a></dt><dt>22.3. <a href="policy_data_structures.html#idm269997879168">Range Iteration in Different Data Structures</a></dt><dt>22.4. <a href="policy_data_structures.html#idm269997864256">Point Iteration in Hash Data Structures</a></dt><dt>22.5. <a href="policy_data_structures.html#idm269997855056">Effect of erase in different underlying data structures</a></dt><dt>22.6. <a href="policy_data_structures.html#idm269997787392">Underlying Priority Queue Data Structures</a></dt><dt>22.7. <a href="policy_data_structures_using.html#idm269997724688">Exception Hierarchy</a></dt><dt>22.8. <a href="policy_data_structures_design.html#idm269997530416">Non-unique Mapping Standard Containers</a></dt><dt>22.9. <a href="policy_data_structures_design.html#fig.pbds_embedded_lists_2">
 
2534
            Effect of embedded lists in
 
2535
            <code class="classname">std::multimap</code>
 
2536
-         </a></dt><dt>22.10. <a href="policy_data_structures_design.html#idp18023952">Non-unique Mapping Containers</a></dt><dt>22.11. <a href="policy_data_structures_design.html#idp18043824">Point Iterator Hierarchy</a></dt><dt>22.12. <a href="policy_data_structures_design.html#idp18057168">Invalidation Guarantee Tags Hierarchy</a></dt><dt>22.13. <a href="policy_data_structures_design.html#idp18087392">Container Tag Hierarchy</a></dt><dt>22.14. <a href="policy_data_structures_design.html#idp18127536">Hash functions, ranged-hash functions, and
 
2537
-             range-hashing functions</a></dt><dt>22.15. <a href="policy_data_structures_design.html#idp18191968">Insert hash sequence diagram</a></dt><dt>22.16. <a href="policy_data_structures_design.html#idp18199024">Insert hash sequence diagram with a null policy</a></dt><dt>22.17. <a href="policy_data_structures_design.html#idp18215840">Hash policy class diagram</a></dt><dt>22.18. <a href="policy_data_structures_design.html#idp18234944">Balls and bins</a></dt><dt>22.19. <a href="policy_data_structures_design.html#idp18265728">Insert resize sequence diagram</a></dt><dt>22.20. <a href="policy_data_structures_design.html#idp18273504">Standard resize policy trigger sequence
 
2538
-               diagram</a></dt><dt>22.21. <a href="policy_data_structures_design.html#idp18277664">Standard resize policy size sequence
 
2539
-               diagram</a></dt><dt>22.22. <a href="policy_data_structures_design.html#idp18355696">Tree node invariants</a></dt><dt>22.23. <a href="policy_data_structures_design.html#idp18365136">Tree node invalidation</a></dt><dt>22.24. <a href="policy_data_structures_design.html#idp18378304">A tree and its update policy</a></dt><dt>22.25. <a href="policy_data_structures_design.html#idp18389968">Restoring node invariants</a></dt><dt>22.26. <a href="policy_data_structures_design.html#idp18398144">Insert update sequence</a></dt><dt>22.27. <a href="policy_data_structures_design.html#idp18420400">Useless update path</a></dt><dt>22.28. <a href="policy_data_structures_design.html#idp18465088">A PATRICIA trie</a></dt><dt>22.29. <a href="policy_data_structures_design.html#idp18475584">A trie and its update policy</a></dt><dt>22.30. <a href="policy_data_structures_design.html#idp18506160">A simple list</a></dt><dt>22.31. <a href="policy_data_structures_design.html#idp18511744">The counter algorithm</a></dt><dt>22.32. <a href="policy_data_structures_design.html#idp18575568">Underlying Priority-Queue Data-Structures.</a></dt><dt>22.33. <a href="policy_data_structures_design.html#idp18610544">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#idp22035648">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#idp452240">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#idp8670848">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#idp7483200">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#idp12559072">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#idp13051936">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#idp13079360">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#idp13115840">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#idp13140576">C++ 2011 Library Headers</a></dt><dt>3.5. <a href="using_headers.html#idp13192016">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#idp13221904">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#idp13238832">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#idp13259904">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#idp13265424">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#idp13271824">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#idp13307552">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#idp13322320">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#idp13335696">Extension Parallel Headers</a></dt><dt>17.1. <a href="debug_mode_using.html#idp16490400">Debugging Containers</a></dt><dt>17.2. <a href="debug_mode_using.html#idp16535296">Debugging Containers C++11</a></dt><dt>18.1. <a href="parallel_mode_using.html#idp16725920">Parallel Algorithms</a></dt><dt>19.1. <a href="profile_mode_design.html#idp16981200">Profile Code Location</a></dt><dt>19.2. <a href="profile_mode_diagnostics.html#idp17088912">Profile Diagnostics</a></dt><dt>21.1. <a href="bitmap_allocator_impl.html#idp17500848">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#idp22162432">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#idp22238096">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#idp22257536">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#idp22335040">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#idp22359184">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#idp23030528">Extension Allocators</a></dt><dt>B.7. <a href="api.html#idp23058160">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>22.1. <a href="policy_data_structures_design.html#idp18141344">Ranged Hash Function</a></dt><dt>22.2. <a href="policy_data_structures_design.html#idp18147232">Range-Hashing, Division Method</a></dt><dt>22.3. <a href="policy_data_structures_design.html#idp18151744">Division via Prime Modulo</a></dt><dt>22.4. <a href="policy_data_structures_design.html#idp18153568">Division via Bit Mask</a></dt><dt>22.5. <a href="policy_data_structures_design.html#idp18163200">
 
2540
+         </a></dt><dt>22.10. <a href="policy_data_structures_design.html#idm269997506912">Non-unique Mapping Containers</a></dt><dt>22.11. <a href="policy_data_structures_design.html#idm269997487104">Point Iterator Hierarchy</a></dt><dt>22.12. <a href="policy_data_structures_design.html#idm269997473760">Invalidation Guarantee Tags Hierarchy</a></dt><dt>22.13. <a href="policy_data_structures_design.html#idm269997443664">Container Tag Hierarchy</a></dt><dt>22.14. <a href="policy_data_structures_design.html#idm269997403584">Hash functions, ranged-hash functions, and
 
2541
+             range-hashing functions</a></dt><dt>22.15. <a href="policy_data_structures_design.html#idm269997339216">Insert hash sequence diagram</a></dt><dt>22.16. <a href="policy_data_structures_design.html#idm269997332160">Insert hash sequence diagram with a null policy</a></dt><dt>22.17. <a href="policy_data_structures_design.html#idm269997315408">Hash policy class diagram</a></dt><dt>22.18. <a href="policy_data_structures_design.html#idm269997296368">Balls and bins</a></dt><dt>22.19. <a href="policy_data_structures_design.html#idm269997265648">Insert resize sequence diagram</a></dt><dt>22.20. <a href="policy_data_structures_design.html#idm269997257872">Standard resize policy trigger sequence
 
2542
+               diagram</a></dt><dt>22.21. <a href="policy_data_structures_design.html#idm269997253712">Standard resize policy size sequence
 
2543
+               diagram</a></dt><dt>22.22. <a href="policy_data_structures_design.html#idm269997175616">Tree node invariants</a></dt><dt>22.23. <a href="policy_data_structures_design.html#idm269997166176">Tree node invalidation</a></dt><dt>22.24. <a href="policy_data_structures_design.html#idm269997153072">A tree and its update policy</a></dt><dt>22.25. <a href="policy_data_structures_design.html#idm269997141408">Restoring node invariants</a></dt><dt>22.26. <a href="policy_data_structures_design.html#idm269997133232">Insert update sequence</a></dt><dt>22.27. <a href="policy_data_structures_design.html#idm269997110976">Useless update path</a></dt><dt>22.28. <a href="policy_data_structures_design.html#idm269997066288">A PATRICIA trie</a></dt><dt>22.29. <a href="policy_data_structures_design.html#idm269997055856">A trie and its update policy</a></dt><dt>22.30. <a href="policy_data_structures_design.html#idm269997025344">A simple list</a></dt><dt>22.31. <a href="policy_data_structures_design.html#idm269997019760">The counter algorithm</a></dt><dt>22.32. <a href="policy_data_structures_design.html#idm269996955920">Underlying Priority-Queue Data-Structures.</a></dt><dt>22.33. <a href="policy_data_structures_design.html#idm269996920880">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#idm269993497120">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#idm270008034928">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#idm270007982624">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#idm270006687472">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#idm270002960368">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#idm270002481088">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#idm270002453792">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#idm270002417312">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#idm270002392576">C++ 2011 Library Headers</a></dt><dt>3.5. <a href="using_headers.html#idm270002341136">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#idm270002311248">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#idm270002294320">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#idm270002273248">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#idm270002267728">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#idm270002261328">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#idm270002225600">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#idm270002210832">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#idm270002197456">Extension Parallel Headers</a></dt><dt>17.1. <a href="debug_mode_using.html#idm269999040896">Debugging Containers</a></dt><dt>17.2. <a href="debug_mode_using.html#idm269998996000">Debugging Containers C++11</a></dt><dt>18.1. <a href="parallel_mode_using.html#idm269998805216">Parallel Algorithms</a></dt><dt>19.1. <a href="profile_mode_design.html#idm269998550064">Profile Code Location</a></dt><dt>19.2. <a href="profile_mode_diagnostics.html#idm269998442544">Profile Diagnostics</a></dt><dt>21.1. <a href="bitmap_allocator_impl.html#idm269998030352">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#idm269993370272">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#idm269993294592">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#idm269993275152">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#idm269993197520">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#idm269993173376">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#idm269992502096">Extension Allocators</a></dt><dt>B.7. <a href="api.html#idm269992474464">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>22.1. <a href="policy_data_structures_design.html#idm269997389776">Ranged Hash Function</a></dt><dt>22.2. <a href="policy_data_structures_design.html#idm269997383888">Range-Hashing, Division Method</a></dt><dt>22.3. <a href="policy_data_structures_design.html#idm269997379376">Division via Prime Modulo</a></dt><dt>22.4. <a href="policy_data_structures_design.html#idm269997377552">Division via Bit Mask</a></dt><dt>22.5. <a href="policy_data_structures_design.html#idm269997367984">
 
2544
                A Standard String Hash Function
 
2545
-             </a></dt><dt>22.6. <a href="policy_data_structures_design.html#idp18169344">
 
2546
+             </a></dt><dt>22.6. <a href="policy_data_structures_design.html#idm269997361840">
 
2547
                Only k String DNA Hash
 
2548
-             </a></dt><dt>22.7. <a href="policy_data_structures_design.html#idp18240448">
 
2549
+             </a></dt><dt>22.7. <a href="policy_data_structures_design.html#idm269997290864">
 
2550
                Probability of Probe Sequence of Length k
 
2551
-             </a></dt><dt>22.8. <a href="policy_data_structures_design.html#idp18247216">
 
2552
+             </a></dt><dt>22.8. <a href="policy_data_structures_design.html#idm269997284096">
 
2553
                Probability Probe Sequence in Some Bin
 
2554
              </a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part I. 
 
2555
   Introduction
 
2556
Index: libstdc++-v3/doc/html/manual/numerics_and_c.html
 
2557
===================================================================
 
2558
--- a/src/libstdc++-v3/doc/html/manual/numerics_and_c.html      (.../tags/gcc_4_8_2_release)
 
2559
+++ b/src/libstdc++-v3/doc/html/manual/numerics_and_c.html      (.../branches/gcc-4_8-branch)
 
2560
@@ -1,5 +1,5 @@
 
2561
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2562
-<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="generalized_numeric_operations.html" title="Generalized Operations" /><link rel="next" href="io.html" title="Chapter 13.  Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
 
2563
+<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="generalized_numeric_operations.html" title="Generalized Operations" /><link rel="next" href="io.html" title="Chapter 13.  Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
 
2564
   Numerics
 
2565
   
 
2566
 </th><td width="20%" align="right"> <a accesskey="n" href="io.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.c"></a>Interacting with C</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.array"></a>Numerics vs. Arrays</h3></div></div></div><p>One of the major reasons why FORTRAN can chew through numbers so well
 
2567
Index: libstdc++-v3/doc/html/manual/appendix_gpl.html
 
2568
===================================================================
 
2569
--- a/src/libstdc++-v3/doc/html/manual/appendix_gpl.html        (.../tags/gcc_4_8_2_release)
 
2570
+++ b/src/libstdc++-v3/doc/html/manual/appendix_gpl.html        (.../branches/gcc-4_8-branch)
 
2571
@@ -1,5 +1,5 @@
 
2572
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2573
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /><link rel="next" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. 
 
2574
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /><link rel="next" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. 
 
2575
     <acronym class="acronym">GNU</acronym> General Public License version 3
 
2576
   </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">Part IV. 
 
2577
   Appendices
 
2578
@@ -77,7 +77,7 @@
 
2579
   </p><p>
 
2580
     The precise terms and conditions for copying, distribution and modification
 
2581
     follow.
 
2582
-  </p><h2><a id="idp23466384"></a>
 
2583
+  </p><h2><a id="idm269992066368"></a>
 
2584
     TERMS AND CONDITIONS
 
2585
   </h2><h2><a id="gpl-3-definitions"></a>
 
2586
     0. Definitions.
 
2587
@@ -618,7 +618,7 @@
 
2588
     waiver of all civil liability in connection with the Program, unless a
 
2589
     warranty or assumption of liability accompanies a copy of the Program in
 
2590
     return for a fee.
 
2591
-  </p><h2><a id="idp23565184"></a>
 
2592
+  </p><h2><a id="idm269991967568"></a>
 
2593
     END OF TERMS AND CONDITIONS
 
2594
   </h2><h2><a id="HowToApply"></a>
 
2595
     How to Apply These Terms to Your New Programs
 
2596
Index: libstdc++-v3/doc/html/manual/source_code_style.html
 
2597
===================================================================
 
2598
--- a/src/libstdc++-v3/doc/html/manual/source_code_style.html   (.../tags/gcc_4_8_2_release)
 
2599
+++ b/src/libstdc++-v3/doc/html/manual/source_code_style.html   (.../branches/gcc-4_8-branch)
 
2600
@@ -1,5 +1,5 @@
 
2601
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2602
-<!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-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_organization.html" title="Directory Layout and Source Conventions" /><link rel="next" href="source_design_notes.html" title="Design Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
 
2603
+<!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-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_organization.html" title="Directory Layout and Source Conventions" /><link rel="next" href="source_design_notes.html" title="Design Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
 
2604
   Contributing
 
2605
   
 
2606
 </th><td width="20%" align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.coding_style"></a>Coding Style</h2></div></div></div><p>
 
2607
Index: libstdc++-v3/doc/html/manual/streambufs.html
 
2608
===================================================================
 
2609
--- a/src/libstdc++-v3/doc/html/manual/streambufs.html  (.../tags/gcc_4_8_2_release)
 
2610
+++ b/src/libstdc++-v3/doc/html/manual/streambufs.html  (.../branches/gcc-4_8-branch)
 
2611
@@ -1,5 +1,5 @@
 
2612
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2613
-<!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>Stream Buffers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="io.html" title="Chapter 13.  Input and Output" /><link rel="next" href="stringstreams.html" title="Memory Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Stream Buffers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
2614
+<!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>Stream Buffers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="io.html" title="Chapter 13.  Input and Output" /><link rel="next" href="stringstreams.html" title="Memory Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Stream Buffers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
 
2615
   Input and Output
 
2616
   
 
2617
 </th><td width="20%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.streambufs"></a>Stream Buffers</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.derived"></a>Derived streambuf Classes</h3></div></div></div><p>
 
2618
Index: libstdc++-v3/doc/html/manual/utilities.html
 
2619
===================================================================
 
2620
--- a/src/libstdc++-v3/doc/html/manual/utilities.html   (.../tags/gcc_4_8_2_release)
 
2621
+++ b/src/libstdc++-v3/doc/html/manual/utilities.html   (.../branches/gcc-4_8-branch)
 
2622
@@ -1,13 +1,13 @@
 
2623
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2624
-<!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.  Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.77.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="concept_checking.html" title="Concept Checking" /><link rel="next" href="pairs.html" title="Pairs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. 
 
2625
+<!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.  Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II.  Standard Contents" /><link rel="prev" href="concept_checking.html" title="Concept Checking" /><link rel="next" href="pairs.html" title="Pairs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. 
 
2626
   Utilities
 
2627
   
 
2628
 </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="concept_checking.html">Prev</a> </td><th width="60%" align="center">Part II. 
 
2629
     Standard Contents
 
2630
   </th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"></a>Chapter 6. 
 
2631
   Utilities
 
2632
-  <a id="idp13862416" class="indexterm"></a>
 
2633
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp13920976">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idp13924528">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp13937824">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15512272">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idp15534784">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idp15542080">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp15556704">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15573056">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idp15576640">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone.  Many people
 
2634
+  <a id="idm270001670464" class="indexterm"></a>
 
2635
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm270001611968">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idm270001608416">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idm270001595120">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm270000019344">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idm269999996832">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idm269999989536">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idm269999974912">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idm269999958496">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idm269999954912">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone.  Many people
 
2636
       get slightly the wrong idea.  In the interest of not reinventing
 
2637
       the wheel, we will refer you to the introduction to the functor
 
2638
       concept written by SGI as part of their STL, in
 
2639
Index: libstdc++-v3/include/debug/functions.h
 
2640
===================================================================
 
2641
--- a/src/libstdc++-v3/include/debug/functions.h        (.../tags/gcc_4_8_2_release)
 
2642
+++ b/src/libstdc++-v3/include/debug/functions.h        (.../branches/gcc-4_8-branch)
 
2643
@@ -345,11 +345,13 @@
 
2644
       return __check_sorted_set_aux(__first, __last, __pred, _SameType());
 
2645
    }
 
2646
 
 
2647
+  // _GLIBCXX_RESOLVE_LIB_DEFECTS
 
2648
+  // 270. Binary search requirements overly strict
 
2649
+  // Determine if a sequence is partitioned w.r.t. this element.
 
2650
   template<typename _ForwardIterator, typename _Tp>
 
2651
     inline bool
 
2652
-  __check_partitioned_lower_aux(_ForwardIterator __first,
 
2653
-                               _ForwardIterator __last, const _Tp& __value,
 
2654
-                               std::forward_iterator_tag)
 
2655
+    __check_partitioned_lower(_ForwardIterator __first,
 
2656
+                             _ForwardIterator __last, const _Tp& __value)
 
2657
     {
 
2658
       while (__first != __last && *__first < __value)
 
2659
        ++__first;
 
2660
@@ -362,38 +364,11 @@
 
2661
       return __first == __last;
 
2662
     }
 
2663
 
 
2664
-  // For performance reason, as the iterator range has been validated, check on
 
2665
-  // random access safe iterators is done using the base iterator.
 
2666
-  template<typename _Iterator, typename _Sequence, typename _Tp>
 
2667
-    inline bool
 
2668
-    __check_partitioned_lower_aux(
 
2669
-                       const _Safe_iterator<_Iterator, _Sequence>& __first,
 
2670
-                       const _Safe_iterator<_Iterator, _Sequence>& __last,
 
2671
-                       const _Tp& __value,
 
2672
-                       std::random_access_iterator_tag __tag)
 
2673
-    {
 
2674
-      return __check_partitioned_lower_aux(__first.base(), __last.base(),
 
2675
-                                          __value, __tag);
 
2676
-    }
 
2677
-
 
2678
-  // _GLIBCXX_RESOLVE_LIB_DEFECTS
 
2679
-  // 270. Binary search requirements overly strict
 
2680
-  // Determine if a sequence is partitioned w.r.t. this element.
 
2681
   template<typename _ForwardIterator, typename _Tp>
 
2682
     inline bool
 
2683
-    __check_partitioned_lower(_ForwardIterator __first,
 
2684
+    __check_partitioned_upper(_ForwardIterator __first,
 
2685
                              _ForwardIterator __last, const _Tp& __value)
 
2686
     {
 
2687
-      return __check_partitioned_lower_aux(__first, __last, __value,
 
2688
-                                          std::__iterator_category(__first));
 
2689
-    }
 
2690
-
 
2691
-  template<typename _ForwardIterator, typename _Tp>
 
2692
-    inline bool
 
2693
-    __check_partitioned_upper_aux(_ForwardIterator __first,
 
2694
-                                 _ForwardIterator __last, const _Tp& __value,
 
2695
-                                 std::forward_iterator_tag)
 
2696
-    {
 
2697
       while (__first != __last && !(__value < *__first))
 
2698
        ++__first;
 
2699
       if (__first != __last)
 
2700
@@ -405,35 +380,12 @@
 
2701
       return __first == __last;
 
2702
     }
 
2703
 
 
2704
-  // For performance reason, as the iterator range has been validated, check on
 
2705
-  // random access safe iterators is done using the base iterator.
 
2706
-  template<typename _Iterator, typename _Sequence, typename _Tp>
 
2707
-    inline bool
 
2708
-    __check_partitioned_upper_aux(
 
2709
-                       const _Safe_iterator<_Iterator, _Sequence>& __first,
 
2710
-                       const _Safe_iterator<_Iterator, _Sequence>& __last,
 
2711
-                       const _Tp& __value,
 
2712
-                       std::random_access_iterator_tag __tag)
 
2713
-    {
 
2714
-      return __check_partitioned_upper_aux(__first.base(), __last.base(),
 
2715
-                                          __value, __tag);
 
2716
-    }
 
2717
-
 
2718
-  template<typename _ForwardIterator, typename _Tp>
 
2719
-    inline bool
 
2720
-    __check_partitioned_upper(_ForwardIterator __first,
 
2721
-                             _ForwardIterator __last, const _Tp& __value)
 
2722
-    {
 
2723
-      return __check_partitioned_upper_aux(__first, __last, __value,
 
2724
-                                          std::__iterator_category(__first));
 
2725
-    }
 
2726
-
 
2727
+  // Determine if a sequence is partitioned w.r.t. this element.
 
2728
   template<typename _ForwardIterator, typename _Tp, typename _Pred>
 
2729
     inline bool
 
2730
-    __check_partitioned_lower_aux(_ForwardIterator __first,
 
2731
-                                 _ForwardIterator __last, const _Tp& __value,
 
2732
-                                 _Pred __pred,
 
2733
-                                 std::forward_iterator_tag)
 
2734
+    __check_partitioned_lower(_ForwardIterator __first,
 
2735
+                             _ForwardIterator __last, const _Tp& __value,
 
2736
+                             _Pred __pred)
 
2737
     {
 
2738
       while (__first != __last && bool(__pred(*__first, __value)))
 
2739
        ++__first;
 
2740
@@ -446,39 +398,12 @@
 
2741
       return __first == __last;
 
2742
     }
 
2743
 
 
2744
-  // For performance reason, as the iterator range has been validated, check on
 
2745
-  // random access safe iterators is done using the base iterator.
 
2746
-  template<typename _Iterator, typename _Sequence,
 
2747
-          typename _Tp, typename _Pred>
 
2748
-    inline bool
 
2749
-    __check_partitioned_lower_aux(
 
2750
-                       const _Safe_iterator<_Iterator, _Sequence>& __first,
 
2751
-                       const _Safe_iterator<_Iterator, _Sequence>& __last,
 
2752
-                       const _Tp& __value, _Pred __pred,
 
2753
-                       std::random_access_iterator_tag __tag)
 
2754
-    {
 
2755
-      return __check_partitioned_lower_aux(__first.base(), __last.base(),
 
2756
-                                          __value, __pred, __tag);
 
2757
-    }
 
2758
-
 
2759
-  // Determine if a sequence is partitioned w.r.t. this element.
 
2760
   template<typename _ForwardIterator, typename _Tp, typename _Pred>
 
2761
     inline bool
 
2762
-    __check_partitioned_lower(_ForwardIterator __first,
 
2763
+    __check_partitioned_upper(_ForwardIterator __first,
 
2764
                              _ForwardIterator __last, const _Tp& __value,
 
2765
                              _Pred __pred)
 
2766
     {
 
2767
-      return __check_partitioned_lower_aux(__first, __last, __value, __pred,
 
2768
-                                          std::__iterator_category(__first));
 
2769
-    }
 
2770
-
 
2771
-  template<typename _ForwardIterator, typename _Tp, typename _Pred>
 
2772
-    inline bool
 
2773
-    __check_partitioned_upper_aux(_ForwardIterator __first,
 
2774
-                                 _ForwardIterator __last, const _Tp& __value,
 
2775
-                                 _Pred __pred,
 
2776
-                                 std::forward_iterator_tag)
 
2777
-    {
 
2778
       while (__first != __last && !bool(__pred(__value, *__first)))
 
2779
        ++__first;
 
2780
       if (__first != __last)
 
2781
@@ -490,31 +415,6 @@
 
2782
       return __first == __last;
 
2783
     }
 
2784
 
 
2785
-  // For performance reason, as the iterator range has been validated, check on
 
2786
-  // random access safe iterators is done using the base iterator.
 
2787
-  template<typename _Iterator, typename _Sequence,
 
2788
-          typename _Tp, typename _Pred>
 
2789
-    inline bool
 
2790
-    __check_partitioned_upper_aux(
 
2791
-                       const _Safe_iterator<_Iterator, _Sequence>& __first,
 
2792
-                       const _Safe_iterator<_Iterator, _Sequence>& __last,
 
2793
-                       const _Tp& __value, _Pred __pred,
 
2794
-                       std::random_access_iterator_tag __tag)
 
2795
-    {
 
2796
-      return __check_partitioned_upper_aux(__first.base(), __last.base(),
 
2797
-                                          __value, __pred, __tag);
 
2798
-    }
 
2799
-
 
2800
-  template<typename _ForwardIterator, typename _Tp, typename _Pred>
 
2801
-    inline bool
 
2802
-    __check_partitioned_upper(_ForwardIterator __first,
 
2803
-                             _ForwardIterator __last, const _Tp& __value,
 
2804
-                             _Pred __pred)
 
2805
-    {
 
2806
-      return __check_partitioned_upper_aux(__first, __last, __value, __pred,
 
2807
-                                          std::__iterator_category(__first));
 
2808
-    }
 
2809
-
 
2810
   // Helper struct to detect random access safe iterators.
 
2811
   template<typename _Iterator>
 
2812
     struct __is_safe_random_iterator
 
2813
Index: libstdc++-v3/include/debug/macros.h
 
2814
===================================================================
 
2815
--- a/src/libstdc++-v3/include/debug/macros.h   (.../tags/gcc_4_8_2_release)
 
2816
+++ b/src/libstdc++-v3/include/debug/macros.h   (.../branches/gcc-4_8-branch)
 
2817
@@ -261,8 +261,9 @@
 
2818
     w.r.t. the value _Value. */
 
2819
 #define __glibcxx_check_partitioned_lower(_First,_Last,_Value)         \
 
2820
 __glibcxx_check_valid_range(_First,_Last);                             \
 
2821
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(_First, _Last, \
 
2822
-                                                           _Value),    \
 
2823
+_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(          \
 
2824
+                       __gnu_debug::__base(_First),                    \
 
2825
+                       __gnu_debug::__base(_Last), _Value),            \
 
2826
                      _M_message(__gnu_debug::__msg_unpartitioned)      \
 
2827
                      ._M_iterator(_First, #_First)                     \
 
2828
                      ._M_iterator(_Last, #_Last)                       \
 
2829
@@ -270,8 +271,9 @@
 
2830
 
 
2831
 #define __glibcxx_check_partitioned_upper(_First,_Last,_Value)         \
 
2832
 __glibcxx_check_valid_range(_First,_Last);                             \
 
2833
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(_First, _Last, \
 
2834
-                                                           _Value),    \
 
2835
+_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(          \
 
2836
+                       __gnu_debug::__base(_First),                    \
 
2837
+                       __gnu_debug::__base(_Last), _Value),            \
 
2838
                      _M_message(__gnu_debug::__msg_unpartitioned)      \
 
2839
                      ._M_iterator(_First, #_First)                     \
 
2840
                      ._M_iterator(_Last, #_Last)                       \
 
2841
@@ -281,8 +283,9 @@
 
2842
     w.r.t. the value _Value and predicate _Pred. */
 
2843
 #define __glibcxx_check_partitioned_lower_pred(_First,_Last,_Value,_Pred) \
 
2844
 __glibcxx_check_valid_range(_First,_Last);                             \
 
2845
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(_First, _Last, \
 
2846
-                                                        _Value, _Pred), \
 
2847
+_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(          \
 
2848
+                       __gnu_debug::__base(_First),                    \
 
2849
+                       __gnu_debug::__base(_Last), _Value, _Pred),     \
 
2850
                      _M_message(__gnu_debug::__msg_unpartitioned_pred) \
 
2851
                      ._M_iterator(_First, #_First)                     \
 
2852
                      ._M_iterator(_Last, #_Last)                       \
 
2853
@@ -293,8 +296,9 @@
 
2854
     w.r.t. the value _Value and predicate _Pred. */
 
2855
 #define __glibcxx_check_partitioned_upper_pred(_First,_Last,_Value,_Pred) \
 
2856
 __glibcxx_check_valid_range(_First,_Last);                             \
 
2857
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(_First, _Last, \
 
2858
-                                                        _Value, _Pred), \
 
2859
+_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(          \
 
2860
+                       __gnu_debug::__base(_First),                    \
 
2861
+                       __gnu_debug::__base(_Last), _Value, _Pred),     \
 
2862
                      _M_message(__gnu_debug::__msg_unpartitioned_pred) \
 
2863
                      ._M_iterator(_First, #_First)                     \
 
2864
                      ._M_iterator(_Last, #_Last)                       \
 
2865
Index: libstdc++-v3/include/bits/stl_algo.h
 
2866
===================================================================
 
2867
--- a/src/libstdc++-v3/include/bits/stl_algo.h  (.../tags/gcc_4_8_2_release)
 
2868
+++ b/src/libstdc++-v3/include/bits/stl_algo.h  (.../branches/gcc-4_8-branch)
 
2869
@@ -2279,7 +2279,7 @@
 
2870
                                _RandomAccessIterator __last)
 
2871
     {
 
2872
       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
 
2873
-      std::__move_median_to_first(__first, __first + 1, __mid, (__last - 2));
 
2874
+      std::__move_median_to_first(__first, __first + 1, __mid, __last - 1);
 
2875
       return std::__unguarded_partition(__first + 1, __last, *__first);
 
2876
     }
 
2877
 
 
2878
@@ -2291,7 +2291,7 @@
 
2879
                                _RandomAccessIterator __last, _Compare __comp)
 
2880
     {
 
2881
       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
 
2882
-      std::__move_median_to_first(__first, __first + 1, __mid, (__last - 2),
 
2883
+      std::__move_median_to_first(__first, __first + 1, __mid, __last - 1,
 
2884
                                  __comp);
 
2885
       return std::__unguarded_partition(__first + 1, __last, *__first, __comp);
 
2886
     }
 
2887
Index: libstdc++-v3/include/bits/shared_ptr_base.h
 
2888
===================================================================
 
2889
--- a/src/libstdc++-v3/include/bits/shared_ptr_base.h   (.../tags/gcc_4_8_2_release)
 
2890
+++ b/src/libstdc++-v3/include/bits/shared_ptr_base.h   (.../branches/gcc-4_8-branch)
 
2891
@@ -391,7 +391,7 @@
 
2892
     public:
 
2893
       template<typename... _Args>
 
2894
        _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
 
2895
-       : _M_impl(__a), _M_storage()
 
2896
+       : _M_impl(__a)
 
2897
        {
 
2898
          _M_impl._M_ptr = static_cast<_Tp*>(static_cast<void*>(&_M_storage));
 
2899
          // _GLIBCXX_RESOLVE_LIB_DEFECTS
 
2900
@@ -819,7 +819,7 @@
 
2901
        : _M_ptr(__r.get()), _M_refcount()
 
2902
        {
 
2903
          __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>)
 
2904
-         auto __tmp = std::__addressof(*__r.get());
 
2905
+         auto __tmp = __r.get();
 
2906
          _M_refcount = __shared_count<_Lp>(std::move(__r));
 
2907
          __enable_shared_from_this_helper(_M_refcount, __tmp, __tmp);
 
2908
        }
 
2909
Index: libstdc++-v3/include/c_global/cstdio
 
2910
===================================================================
 
2911
--- a/src/libstdc++-v3/include/c_global/cstdio  (.../tags/gcc_4_8_2_release)
 
2912
+++ b/src/libstdc++-v3/include/c_global/cstdio  (.../branches/gcc-4_8-branch)
 
2913
@@ -69,6 +69,7 @@
 
2914
 #undef ftell
 
2915
 #undef fwrite
 
2916
 #undef getc
 
2917
+#undef getchar
 
2918
 #undef gets
 
2919
 #undef perror
 
2920
 #undef printf
 
2921
Index: libstdc++-v3/ChangeLog
 
2922
===================================================================
 
2923
--- a/src/libstdc++-v3/ChangeLog        (.../tags/gcc_4_8_2_release)
 
2924
+++ b/src/libstdc++-v3/ChangeLog        (.../branches/gcc-4_8-branch)
 
2925
@@ -1,3 +1,56 @@
 
2926
+2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
2927
+
 
2928
+       * doc/xml/manual/status_cxx2011.xml: Document aligned_union as
 
2929
+       missing.
 
2930
+
 
2931
+       * doc/xml/manual/spine.xml: Update copyright years.
 
2932
+       * doc/html/*: Regenerate.
 
2933
+
 
2934
+2013-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
 
2935
+
 
2936
+       PR libstdc++/58952
 
2937
+       * include/c_global/cstdio: Undef getchar.
 
2938
+
 
2939
+2013-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
2940
+
 
2941
+       * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
 
2942
+       default_delete<void>.
 
2943
+
 
2944
+2013-10-30  Chris Studholme  <cvs@cs.utoronto.ca>
 
2945
+
 
2946
+       PR libstdc++/58912
 
2947
+       * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Remove
 
2948
+       unnecessary initialization of storage buffer.
 
2949
+
 
2950
+2013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
2951
+
 
2952
+       PR libstdc++/58839
 
2953
+       * include/bits/shared_ptr_base.h
 
2954
+       (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Do not dereference
 
2955
+       pointer.
 
2956
+       * testsuite/20_util/shared_ptr/cons/58839.cc: New.
 
2957
+
 
2958
+2013-10-20  Chris Jefferson  <chris@bubblescope.net>
 
2959
+           Paolo Carlini  <paolo.carlini@oracle.com>
 
2960
+
 
2961
+       PR libstdc++/58800
 
2962
+       * include/bits/stl_algo.h (__unguarded_partition_pivot): Change
 
2963
+       __last - 2 to __last - 1.
 
2964
+       * testsuite/25_algorithms/nth_element/58800.cc: New
 
2965
+
 
2966
+2013-10-16  François Dumont  <fdumont@gcc.gnu.org>
 
2967
+
 
2968
+       PR libstdc++/58191
 
2969
+       * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
 
2970
+       __gnu_debug::__base calls on iterators passed to internal debug
 
2971
+       check.
 
2972
+       (__glibcxx_check_partitioned_lower_pred): Likewise.
 
2973
+       (__glibcxx_check_partitioned_upper): Likewise.
 
2974
+       (__glibcxx_check_partitioned_upper_pred): Likewise.
 
2975
+       * include/debug/functions.h (__check_partitioned_lower):
 
2976
+       Remove code to detect safe iterators.
 
2977
+       (__check_partitioned_upper): Likewise.
 
2978
+
 
2979
 2013-10-16  Release Manager
 
2980
 
 
2981
        * GCC 4.8.2 released.
 
2982
Index: libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc
 
2983
===================================================================
 
2984
--- a/src/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc     (.../tags/gcc_4_8_2_release)
 
2985
+++ b/src/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc     (.../branches/gcc-4_8-branch)
 
2986
@@ -0,0 +1,52 @@
 
2987
+// Copyright (C) 2013 Free Software Foundation, Inc.
 
2988
+//
 
2989
+// This file is part of the GNU ISO C++ Library.  This library is free
 
2990
+// software; you can redistribute it and/or modify it under the
 
2991
+// terms of the GNU General Public License as published by the
 
2992
+// Free Software Foundation; either version 3, or (at your option)
 
2993
+// any later version.
 
2994
+
 
2995
+// This library is distributed in the hope that it will be useful,
 
2996
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
 
2997
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
2998
+// GNU General Public License for more details.
 
2999
+
 
3000
+// You should have received a copy of the GNU General Public License along
 
3001
+// with this library; see the file COPYING3.  If not see
 
3002
+// <http://www.gnu.org/licenses/>.
 
3003
+
 
3004
+// 25.3.2 [lib.alg.nth.element]
 
3005
+
 
3006
+// { dg-options "-std=gnu++11" }
 
3007
+
 
3008
+#include <algorithm>
 
3009
+#include <testsuite_hooks.h>
 
3010
+#include <testsuite_iterators.h>
 
3011
+
 
3012
+using __gnu_test::test_container;
 
3013
+using __gnu_test::random_access_iterator_wrapper;
 
3014
+
 
3015
+typedef test_container<int, random_access_iterator_wrapper> Container;
 
3016
+
 
3017
+void test01()
 
3018
+{
 
3019
+  std::vector<int> v = {
 
3020
+    207089,
 
3021
+    202585,
 
3022
+    180067,
 
3023
+    157549,
 
3024
+    211592,
 
3025
+    216096,
 
3026
+    207089
 
3027
+  };
 
3028
+
 
3029
+  Container con(v.data(), v.data() + 7);
 
3030
+
 
3031
+  std::nth_element(con.begin(), con.begin() + 3, con.end());
 
3032
+}
 
3033
+
 
3034
+int main()
 
3035
+{
 
3036
+  test01();
 
3037
+  return 0;
 
3038
+}
 
3039
Index: libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc
 
3040
===================================================================
 
3041
--- a/src/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc       (.../tags/gcc_4_8_2_release)
 
3042
+++ b/src/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc       (.../branches/gcc-4_8-branch)
 
3043
@@ -0,0 +1,33 @@
 
3044
+// { dg-options "-std=gnu++11" }
 
3045
+// { dg-do compile }
 
3046
+
 
3047
+// Copyright (C) 2013 Free Software Foundation, Inc.
 
3048
+//
 
3049
+// This file is part of the GNU ISO C++ Library.  This library is free
 
3050
+// software; you can redistribute it and/or modify it under the
 
3051
+// terms of the GNU General Public License as published by the
 
3052
+// Free Software Foundation; either version 3, or (at your option)
 
3053
+// any later version.
 
3054
+
 
3055
+// This library is distributed in the hope that it will be useful,
 
3056
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
 
3057
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
3058
+// GNU General Public License for more details.
 
3059
+
 
3060
+// You should have received a copy of the GNU General Public License along
 
3061
+// with this library; see the file COPYING3.  If not see
 
3062
+// <http://www.gnu.org/licenses/>.
 
3063
+
 
3064
+#include <memory>
 
3065
+
 
3066
+// libstdc++/58839
 
3067
+
 
3068
+struct D {
 
3069
+  void operator()(void*) const noexcept { }
 
3070
+};
 
3071
+
 
3072
+void test01()
 
3073
+{
 
3074
+  std::unique_ptr<void, D> y;
 
3075
+  std::shared_ptr<void> x = std::move(y);
 
3076
+}
 
3077
Index: contrib/ChangeLog
 
3078
===================================================================
 
3079
--- a/src/contrib/ChangeLog     (.../tags/gcc_4_8_2_release)
 
3080
+++ b/src/contrib/ChangeLog     (.../branches/gcc-4_8-branch)
 
3081
@@ -1,3 +1,7 @@
 
3082
+2013-10-21  Mike Stump  <mikestump@comcast.net>
 
3083
+
 
3084
+       * gcc_update (configure): Update to handle svn 1.8.1.
 
3085
+
 
3086
 2013-10-16  Release Manager
 
3087
 
 
3088
        * GCC 4.8.2 released.
 
3089
Index: contrib/gcc_update
 
3090
===================================================================
 
3091
--- a/src/contrib/gcc_update    (.../tags/gcc_4_8_2_release)
 
3092
+++ b/src/contrib/gcc_update    (.../branches/gcc-4_8-branch)
 
3093
@@ -382,7 +382,7 @@
 
3094
        fi
 
3095
 
 
3096
        revision=`$GCC_SVN info | awk '/Revision:/ { print $2 }'`
 
3097
-       branch=`$GCC_SVN info | sed -ne "/URL:/ {
 
3098
+       branch=`$GCC_SVN info | sed -ne "/^URL:/ {
 
3099
            s,.*/trunk,trunk,
 
3100
            s,.*/branches/,,
 
3101
            s,.*/tags/,,
 
3102
Index: libgcc/ChangeLog
 
3103
===================================================================
 
3104
--- a/src/libgcc/ChangeLog      (.../tags/gcc_4_8_2_release)
 
3105
+++ b/src/libgcc/ChangeLog      (.../branches/gcc-4_8-branch)
 
3106
@@ -1,3 +1,21 @@
 
3107
+2013-11-10  Kai Tietz  <ktietz@redhat.com>
 
3108
+
 
3109
+       Back-merged from trunk
 
3110
+       * config/i386/cygming-crtbegin.c (__gcc_register_frame):
 
3111
+       Increment load-count on use of LIBGCC_SONAME DLL.
 
3112
+       (hmod_libgcc): New static variable to hold handle of
 
3113
+       LIBGCC_SONAME DLL.
 
3114
+       (__gcc_deregister_frame): Decrement load-count of
 
3115
+       LIBGCC_SONAME DLL.
 
3116
+
 
3117
+2013-11-07  Uros Bizjak  <ubizjak@gmail.com>
 
3118
+
 
3119
+       * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
 
3120
+       FP_EX_DENORM.  Store result to volatile location after SSE division
 
3121
+       to close interrupt window.  Remove unneeded fwait after x87
 
3122
+       division since interrupt window will be closed by emitted fstp.
 
3123
+       Rewrite FP_EX_INEXACT handling.
 
3124
+
 
3125
 2013-10-16  Release Manager
 
3126
 
 
3127
        * GCC 4.8.2 released.
 
3128
Index: libgcc/config/i386/sfp-exceptions.c
 
3129
===================================================================
 
3130
--- a/src/libgcc/config/i386/sfp-exceptions.c   (.../tags/gcc_4_8_2_release)
 
3131
+++ b/src/libgcc/config/i386/sfp-exceptions.c   (.../branches/gcc-4_8-branch)
 
3132
@@ -48,20 +48,32 @@
 
3133
     {
 
3134
       float f = 0.0f;
 
3135
 #ifdef __x86_64__
 
3136
+      volatile float r __attribute__ ((unused));
 
3137
       asm volatile ("%vdivss\t{%0, %d0|%d0, %0}" : "+x" (f));
 
3138
+      r = f; /* Needed to trigger exception.   */
 
3139
 #else
 
3140
       asm volatile ("fdiv\t{%y0, %0|%0, %y0}" : "+t" (f));
 
3141
-      asm volatile ("fwait");
 
3142
+      /* No need for fwait, exception is triggered by emitted fstp.  */
 
3143
 #endif
 
3144
     }
 
3145
+  if (_fex & FP_EX_DENORM)
 
3146
+    {
 
3147
+      struct fenv temp;
 
3148
+      asm volatile ("fnstenv\t%0" : "=m" (temp));
 
3149
+      temp.__status_word |= FP_EX_DENORM;
 
3150
+      asm volatile ("fldenv\t%0" : : "m" (temp));
 
3151
+      asm volatile ("fwait");
 
3152
+    }
 
3153
   if (_fex & FP_EX_DIVZERO)
 
3154
     {
 
3155
       float f = 1.0f, g = 0.0f;
 
3156
 #ifdef __x86_64__
 
3157
+      volatile float r __attribute__ ((unused));
 
3158
       asm volatile ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g));
 
3159
+      r = f; /* Needed to trigger exception.   */
 
3160
 #else
 
3161
       asm volatile ("fdivs\t%1" : "+t" (f) : "m" (g));
 
3162
-      asm volatile ("fwait");
 
3163
+      /* No need for fwait, exception is triggered by emitted fstp.  */
 
3164
 #endif
 
3165
     }
 
3166
   if (_fex & FP_EX_OVERFLOW)
 
3167
@@ -82,11 +94,15 @@
 
3168
     }
 
3169
   if (_fex & FP_EX_INEXACT)
 
3170
     {
 
3171
-      struct fenv temp;
 
3172
-      asm volatile ("fnstenv\t%0" : "=m" (temp));
 
3173
-      temp.__status_word |= FP_EX_INEXACT;
 
3174
-      asm volatile ("fldenv\t%0" : : "m" (temp));
 
3175
-      asm volatile ("fwait");
 
3176
+      float f = 1.0f, g = 3.0f;
 
3177
+#ifdef __x86_64__
 
3178
+      volatile float r __attribute__ ((unused));
 
3179
+      asm volatile ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g));
 
3180
+      r = f; /* Needed to trigger exception.   */
 
3181
+#else
 
3182
+      asm volatile ("fdivs\t%1" : "+t" (f) : "m" (g));
 
3183
+      /* No need for fwait, exception is triggered by emitted fstp.  */
 
3184
+#endif
 
3185
     }
 
3186
 };
 
3187
 #endif
 
3188
Index: libgcc/config/i386/cygming-crtbegin.c
 
3189
===================================================================
 
3190
--- a/src/libgcc/config/i386/cygming-crtbegin.c (.../tags/gcc_4_8_2_release)
 
3191
+++ b/src/libgcc/config/i386/cygming-crtbegin.c (.../branches/gcc-4_8-branch)
 
3192
@@ -69,6 +69,9 @@
 
3193
   = { };
 
3194
 
 
3195
 static struct object obj;
 
3196
+
 
3197
+/* Handle of libgcc's DLL reference.  */
 
3198
+HANDLE hmod_libgcc;
 
3199
 #endif
 
3200
 
 
3201
 #if TARGET_USE_JCR_SECTION
 
3202
@@ -93,9 +96,14 @@
 
3203
 
 
3204
   void (*register_frame_fn) (const void *, struct object *);
 
3205
   HANDLE h = GetModuleHandle (LIBGCC_SONAME);
 
3206
+
 
3207
   if (h)
 
3208
-    register_frame_fn = (void (*) (const void *, struct object *))
 
3209
-                       GetProcAddress (h, "__register_frame_info");
 
3210
+    {
 
3211
+      /* Increasing the load-count of LIBGCC_SONAME DLL.  */
 
3212
+      hmod_libgcc = LoadLibrary (LIBGCC_SONAME);
 
3213
+      register_frame_fn = (void (*) (const void *, struct object *))
 
3214
+                         GetProcAddress (h, "__register_frame_info");
 
3215
+    }
 
3216
   else 
 
3217
     register_frame_fn = __register_frame_info;
 
3218
   if (register_frame_fn)
 
3219
@@ -132,5 +140,7 @@
 
3220
     deregister_frame_fn = __deregister_frame_info;
 
3221
   if (deregister_frame_fn)
 
3222
      deregister_frame_fn (__EH_FRAME_BEGIN__);
 
3223
+  if (hmod_libgcc)
 
3224
+    FreeLibrary (hmod_libgcc);
 
3225
 #endif
 
3226
 }
 
3227
Index: gcc/loop-unswitch.c
 
3228
===================================================================
 
3229
--- a/src/gcc/loop-unswitch.c   (.../tags/gcc_4_8_2_release)
 
3230
+++ b/src/gcc/loop-unswitch.c   (.../branches/gcc-4_8-branch)
 
3231
@@ -191,6 +191,7 @@
 
3232
   if (!test)
 
3233
     return NULL_RTX;
 
3234
 
 
3235
+  mode = VOIDmode;
 
3236
   for (i = 0; i < 2; i++)
 
3237
     {
 
3238
       op[i] = XEXP (test, i);
 
3239
@@ -205,11 +206,15 @@
 
3240
        return NULL_RTX;
 
3241
 
 
3242
       op[i] = get_iv_value (&iv, const0_rtx);
 
3243
+      if (iv.extend != IV_UNKNOWN_EXTEND
 
3244
+         && iv.mode != iv.extend_mode)
 
3245
+       op[i] = lowpart_subreg (iv.mode, op[i], iv.extend_mode);
 
3246
+      if (mode == VOIDmode)
 
3247
+       mode = iv.mode;
 
3248
+      else
 
3249
+       gcc_assert (mode == iv.mode);
 
3250
     }
 
3251
 
 
3252
-  mode = GET_MODE (op[0]);
 
3253
-  if (mode == VOIDmode)
 
3254
-    mode = GET_MODE (op[1]);
 
3255
   if (GET_MODE_CLASS (mode) == MODE_CC)
 
3256
     {
 
3257
       if (at != BB_END (bb))
 
3258
Index: gcc/tree-ssa-loop-im.c
 
3259
===================================================================
 
3260
--- a/src/gcc/tree-ssa-loop-im.c        (.../tags/gcc_4_8_2_release)
 
3261
+++ b/src/gcc/tree-ssa-loop-im.c        (.../branches/gcc-4_8-branch)
 
3262
@@ -1190,6 +1190,67 @@
 
3263
   fini_walk_dominator_tree (&walk_data);
 
3264
 }
 
3265
 
 
3266
+/* Return true if CODE is an operation that when operating on signed
 
3267
+   integer types involves undefined behavior on overflow and the
 
3268
+   operation can be expressed with unsigned arithmetic.  */
 
3269
+
 
3270
+static bool
 
3271
+arith_code_with_undefined_signed_overflow (tree_code code)
 
3272
+{
 
3273
+  switch (code)
 
3274
+    {
 
3275
+    case PLUS_EXPR:
 
3276
+    case MINUS_EXPR:
 
3277
+    case MULT_EXPR:
 
3278
+    case NEGATE_EXPR:
 
3279
+    case POINTER_PLUS_EXPR:
 
3280
+      return true;
 
3281
+    default:
 
3282
+      return false;
 
3283
+    }
 
3284
+}
 
3285
+
 
3286
+/* Rewrite STMT, an assignment with a signed integer or pointer arithmetic
 
3287
+   operation that can be transformed to unsigned arithmetic by converting
 
3288
+   its operand, carrying out the operation in the corresponding unsigned
 
3289
+   type and converting the result back to the original type.
 
3290
+
 
3291
+   Returns a sequence of statements that replace STMT and also contain
 
3292
+   a modified form of STMT itself.  */
 
3293
+
 
3294
+static gimple_seq
 
3295
+rewrite_to_defined_overflow (gimple stmt)
 
3296
+{
 
3297
+  if (dump_file && (dump_flags & TDF_DETAILS))
 
3298
+    {
 
3299
+      fprintf (dump_file, "rewriting stmt with undefined signed "
 
3300
+              "overflow ");
 
3301
+      print_gimple_stmt (dump_file, stmt, 0, TDF_SLIM);
 
3302
+    }
 
3303
+
 
3304
+  tree lhs = gimple_assign_lhs (stmt);
 
3305
+  tree type = unsigned_type_for (TREE_TYPE (lhs));
 
3306
+  gimple_seq stmts = NULL;
 
3307
+  for (unsigned i = 1; i < gimple_num_ops (stmt); ++i)
 
3308
+    {
 
3309
+      gimple_seq stmts2 = NULL;
 
3310
+      gimple_set_op (stmt, i,
 
3311
+                    force_gimple_operand (fold_convert (type,
 
3312
+                                                        gimple_op (stmt, i)),
 
3313
+                                          &stmts2, true, NULL_TREE));
 
3314
+      gimple_seq_add_seq (&stmts, stmts2);
 
3315
+    }
 
3316
+  gimple_assign_set_lhs (stmt, make_ssa_name (type, stmt));
 
3317
+  if (gimple_assign_rhs_code (stmt) == POINTER_PLUS_EXPR)
 
3318
+    gimple_assign_set_rhs_code (stmt, PLUS_EXPR);
 
3319
+  gimple_seq_add_stmt (&stmts, stmt);
 
3320
+  gimple cvt = gimple_build_assign_with_ops
 
3321
+      (NOP_EXPR, lhs, gimple_assign_lhs (stmt), NULL_TREE);
 
3322
+  gimple_seq_add_stmt (&stmts, cvt);
 
3323
+
 
3324
+  return stmts;
 
3325
+}
 
3326
+
 
3327
 /* Hoist the statements in basic block BB out of the loops prescribed by
 
3328
    data stored in LIM_DATA structures associated with each statement.  Callback
 
3329
    for walk_dominator_tree.  */
 
3330
@@ -1321,7 +1382,21 @@
 
3331
            }
 
3332
        }
 
3333
       gsi_remove (&bsi, false);
 
3334
-      gsi_insert_on_edge (e, stmt);
 
3335
+      /* In case this is a stmt that is not unconditionally executed
 
3336
+         when the target loop header is executed and the stmt may
 
3337
+        invoke undefined integer or pointer overflow rewrite it to
 
3338
+        unsigned arithmetic.  */
 
3339
+      if (is_gimple_assign (stmt)
 
3340
+         && INTEGRAL_TYPE_P (TREE_TYPE (gimple_assign_lhs (stmt)))
 
3341
+         && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (gimple_assign_lhs (stmt)))
 
3342
+         && arith_code_with_undefined_signed_overflow
 
3343
+              (gimple_assign_rhs_code (stmt))
 
3344
+         && (!ALWAYS_EXECUTED_IN (bb)
 
3345
+             || !(ALWAYS_EXECUTED_IN (bb) == level
 
3346
+                  || flow_loop_nested_p (ALWAYS_EXECUTED_IN (bb), level))))
 
3347
+       gsi_insert_seq_on_edge (e, rewrite_to_defined_overflow (stmt));
 
3348
+      else
 
3349
+       gsi_insert_on_edge (e, stmt);
 
3350
     }
 
3351
 }
 
3352
 
 
3353
Index: gcc/tree-ssa-tail-merge.c
 
3354
===================================================================
 
3355
--- a/src/gcc/tree-ssa-tail-merge.c     (.../tags/gcc_4_8_2_release)
 
3356
+++ b/src/gcc/tree-ssa-tail-merge.c     (.../branches/gcc-4_8-branch)
 
3357
@@ -297,7 +297,8 @@
 
3358
   tree val;
 
3359
   def_operand_p def_p;
 
3360
 
 
3361
-  if (gimple_has_side_effects (stmt))
 
3362
+  if (gimple_has_side_effects (stmt)
 
3363
+      || gimple_vdef (stmt) != NULL_TREE)
 
3364
     return false;
 
3365
 
 
3366
   def_p = SINGLE_SSA_DEF_OPERAND (stmt, SSA_OP_DEF);
 
3367
Index: gcc/cgraphbuild.c
 
3368
===================================================================
 
3369
--- a/src/gcc/cgraphbuild.c     (.../tags/gcc_4_8_2_release)
 
3370
+++ b/src/gcc/cgraphbuild.c     (.../branches/gcc-4_8-branch)
 
3371
@@ -73,7 +73,7 @@
 
3372
       decl = get_base_var (*tp);
 
3373
       if (TREE_CODE (decl) == FUNCTION_DECL)
 
3374
        {
 
3375
-         struct cgraph_node *node = cgraph_get_create_node (decl);
 
3376
+         struct cgraph_node *node = cgraph_get_create_real_symbol_node (decl);
 
3377
          if (!ctx->only_vars)
 
3378
            cgraph_mark_address_taken_node (node);
 
3379
          ipa_record_reference ((symtab_node)ctx->varpool_node,
 
3380
@@ -143,7 +143,7 @@
 
3381
     {
 
3382
       struct cgraph_node *per_node;
 
3383
 
 
3384
-      per_node = cgraph_get_create_node (DECL_FUNCTION_PERSONALITY (node->symbol.decl));
 
3385
+      per_node = cgraph_get_create_real_symbol_node (DECL_FUNCTION_PERSONALITY (node->symbol.decl));
 
3386
       ipa_record_reference ((symtab_node)node, (symtab_node)per_node, IPA_REF_ADDR, NULL);
 
3387
       cgraph_mark_address_taken_node (per_node);
 
3388
     }
 
3389
@@ -223,7 +223,7 @@
 
3390
   addr = get_base_address (addr);
 
3391
   if (TREE_CODE (addr) == FUNCTION_DECL)
 
3392
     {
 
3393
-      struct cgraph_node *node = cgraph_get_create_node (addr);
 
3394
+      struct cgraph_node *node = cgraph_get_create_real_symbol_node (addr);
 
3395
       cgraph_mark_address_taken_node (node);
 
3396
       ipa_record_reference ((symtab_node)data,
 
3397
                            (symtab_node)node,
 
3398
@@ -252,7 +252,7 @@
 
3399
     {
 
3400
       /* ??? This can happen on platforms with descriptors when these are
 
3401
         directly manipulated in the code.  Pretend that it's an address.  */
 
3402
-      struct cgraph_node *node = cgraph_get_create_node (t);
 
3403
+      struct cgraph_node *node = cgraph_get_create_real_symbol_node (t);
 
3404
       cgraph_mark_address_taken_node (node);
 
3405
       ipa_record_reference ((symtab_node)data,
 
3406
                            (symtab_node)node,
 
3407
@@ -330,7 +330,7 @@
 
3408
            {
 
3409
              tree fn = gimple_omp_parallel_child_fn (stmt);
 
3410
              ipa_record_reference ((symtab_node)node,
 
3411
-                                   (symtab_node)cgraph_get_create_node (fn),
 
3412
+                                   (symtab_node)cgraph_get_create_real_symbol_node (fn),
 
3413
                                    IPA_REF_ADDR, stmt);
 
3414
            }
 
3415
          if (gimple_code (stmt) == GIMPLE_OMP_TASK)
 
3416
@@ -338,12 +338,12 @@
 
3417
              tree fn = gimple_omp_task_child_fn (stmt);
 
3418
              if (fn)
 
3419
                ipa_record_reference ((symtab_node)node,
 
3420
-                                     (symtab_node) cgraph_get_create_node (fn),
 
3421
+                                     (symtab_node) cgraph_get_create_real_symbol_node (fn),
 
3422
                                      IPA_REF_ADDR, stmt);
 
3423
              fn = gimple_omp_task_copy_fn (stmt);
 
3424
              if (fn)
 
3425
                ipa_record_reference ((symtab_node)node,
 
3426
-                                     (symtab_node)cgraph_get_create_node (fn),
 
3427
+                                     (symtab_node)cgraph_get_create_real_symbol_node (fn),
 
3428
                                      IPA_REF_ADDR, stmt);
 
3429
            }
 
3430
        }
 
3431
Index: gcc/c-family/ChangeLog
 
3432
===================================================================
 
3433
--- a/src/gcc/c-family/ChangeLog        (.../tags/gcc_4_8_2_release)
 
3434
+++ b/src/gcc/c-family/ChangeLog        (.../branches/gcc-4_8-branch)
 
3435
@@ -1,3 +1,11 @@
 
3436
+2013-11-04  Marek Polacek  <polacek@redhat.com>
 
3437
+
 
3438
+       Backport from mainline
 
3439
+       2013-11-04  Marek Polacek  <polacek@redhat.com>
 
3440
+
 
3441
+       PR c++/58979
 
3442
+       * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
 
3443
+
 
3444
 2013-10-16  Release Manager
 
3445
 
 
3446
        * GCC 4.8.2 released.
 
3447
Index: gcc/c-family/c-common.c
 
3448
===================================================================
 
3449
--- a/src/gcc/c-family/c-common.c       (.../tags/gcc_4_8_2_release)
 
3450
+++ b/src/gcc/c-family/c-common.c       (.../branches/gcc-4_8-branch)
 
3451
@@ -9763,6 +9763,11 @@
 
3452
                "invalid type argument of %<->%> (have %qT)",
 
3453
                type);
 
3454
       break;
 
3455
+    case RO_ARROW_STAR:
 
3456
+      error_at (loc,
 
3457
+               "invalid type argument of %<->*%> (have %qT)",
 
3458
+               type);
 
3459
+      break;
 
3460
     case RO_IMPLICIT_CONVERSION:
 
3461
       error_at (loc,
 
3462
                "invalid type argument of implicit conversion (have %qT)",
 
3463
Index: gcc/cgraph.c
 
3464
===================================================================
 
3465
--- a/src/gcc/cgraph.c  (.../tags/gcc_4_8_2_release)
 
3466
+++ b/src/gcc/cgraph.c  (.../branches/gcc-4_8-branch)
 
3467
@@ -2596,4 +2596,47 @@
 
3468
   FOR_EACH_FUNCTION (node)
 
3469
     verify_cgraph_node (node);
 
3470
 }
 
3471
+
 
3472
+/* Create external decl node for DECL.
 
3473
+   The difference i nbetween cgraph_get_create_node and
 
3474
+   cgraph_get_create_real_symbol_node is that cgraph_get_create_node
 
3475
+   may return inline clone, while cgraph_get_create_real_symbol_node
 
3476
+   will create a new node in this case.
 
3477
+   FIXME: This function should be removed once clones are put out of decl
 
3478
+   hash.  */
 
3479
+
 
3480
+struct cgraph_node *
 
3481
+cgraph_get_create_real_symbol_node (tree decl)
 
3482
+{
 
3483
+  struct cgraph_node *first_clone = cgraph_get_node (decl);
 
3484
+  struct cgraph_node *node;
 
3485
+  /* create symbol table node.  even if inline clone exists, we can not take
 
3486
+     it as a target of non-inlined call.  */
 
3487
+  node = cgraph_get_node (decl);
 
3488
+  if (node && !node->global.inlined_to)
 
3489
+    return node;
 
3490
+
 
3491
+  node = cgraph_create_node (decl);
 
3492
+
 
3493
+  /* ok, we previously inlined the function, then removed the offline copy and
 
3494
+     now we want it back for external call.  this can happen when devirtualizing
 
3495
+     while inlining function called once that happens after extern inlined and
 
3496
+     virtuals are already removed.  in this case introduce the external node
 
3497
+     and make it available for call.  */
 
3498
+  if (first_clone)
 
3499
+    {
 
3500
+      first_clone->clone_of = node;
 
3501
+      node->clones = first_clone;
 
3502
+      symtab_prevail_in_asm_name_hash ((symtab_node) node);
 
3503
+      symtab_insert_node_to_hashtable ((symtab_node) node);
 
3504
+      if (dump_file)
 
3505
+       fprintf (dump_file, "Introduced new external node "
 
3506
+                "(%s/%i) and turned into root of the clone tree.\n",
 
3507
+                xstrdup (cgraph_node_name (node)), node->uid);
 
3508
+    }
 
3509
+  else if (dump_file)
 
3510
+    fprintf (dump_file, "Introduced new external node "
 
3511
+            "(%s/%i).\n", xstrdup (cgraph_node_name (node)), node->uid);
 
3512
+  return node;
 
3513
+}
 
3514
 #include "gt-cgraph.h"
 
3515
Index: gcc/cgraph.h
 
3516
===================================================================
 
3517
--- a/src/gcc/cgraph.h  (.../tags/gcc_4_8_2_release)
 
3518
+++ b/src/gcc/cgraph.h  (.../branches/gcc-4_8-branch)
 
3519
@@ -575,6 +575,7 @@
 
3520
 struct cgraph_node * cgraph_create_node (tree);
 
3521
 struct cgraph_node * cgraph_create_empty_node (void);
 
3522
 struct cgraph_node * cgraph_get_create_node (tree);
 
3523
+struct cgraph_node * cgraph_get_create_real_symbol_node (tree);
 
3524
 struct cgraph_node * cgraph_same_body_alias (struct cgraph_node *, tree, tree);
 
3525
 struct cgraph_node * cgraph_add_thunk (struct cgraph_node *, tree, tree, bool, HOST_WIDE_INT,
 
3526
                                       HOST_WIDE_INT, tree, tree);
 
3527
Index: gcc/optabs.c
 
3528
===================================================================
 
3529
--- a/src/gcc/optabs.c  (.../tags/gcc_4_8_2_release)
 
3530
+++ b/src/gcc/optabs.c  (.../branches/gcc-4_8-branch)
 
3531
@@ -7035,8 +7035,7 @@
 
3532
 
 
3533
       create_output_operand (&ops[0], target, mode);
 
3534
       create_fixed_operand (&ops[1], mem);
 
3535
-      /* VAL may have been promoted to a wider mode.  Shrink it if so.  */
 
3536
-      create_convert_operand_to (&ops[2], val, mode, true);
 
3537
+      create_input_operand (&ops[2], val, mode);
 
3538
       create_integer_operand (&ops[3], model);
 
3539
       if (maybe_expand_insn (icode, 4, ops))
 
3540
        return ops[0].value;
 
3541
@@ -7075,8 +7074,7 @@
 
3542
       struct expand_operand ops[3];
 
3543
       create_output_operand (&ops[0], target, mode);
 
3544
       create_fixed_operand (&ops[1], mem);
 
3545
-      /* VAL may have been promoted to a wider mode.  Shrink it if so.  */
 
3546
-      create_convert_operand_to (&ops[2], val, mode, true);
 
3547
+      create_input_operand (&ops[2], val, mode);
 
3548
       if (maybe_expand_insn (icode, 3, ops))
 
3549
        return ops[0].value;
 
3550
     }
 
3551
@@ -7118,8 +7116,6 @@
 
3552
     {
 
3553
       if (!target || !register_operand (target, mode))
 
3554
        target = gen_reg_rtx (mode);
 
3555
-      if (GET_MODE (val) != VOIDmode && GET_MODE (val) != mode)
 
3556
-       val = convert_modes (mode, GET_MODE (val), val, 1);
 
3557
       if (expand_compare_and_swap_loop (mem, target, val, NULL_RTX))
 
3558
        return target;
 
3559
     }
 
3560
@@ -7331,8 +7327,8 @@
 
3561
       create_output_operand (&ops[0], target_bool, bool_mode);
 
3562
       create_output_operand (&ops[1], target_oval, mode);
 
3563
       create_fixed_operand (&ops[2], mem);
 
3564
-      create_convert_operand_to (&ops[3], expected, mode, true);
 
3565
-      create_convert_operand_to (&ops[4], desired, mode, true);
 
3566
+      create_input_operand (&ops[3], expected, mode);
 
3567
+      create_input_operand (&ops[4], desired, mode);
 
3568
       create_integer_operand (&ops[5], is_weak);
 
3569
       create_integer_operand (&ops[6], succ_model);
 
3570
       create_integer_operand (&ops[7], fail_model);
 
3571
@@ -7353,8 +7349,8 @@
 
3572
 
 
3573
       create_output_operand (&ops[0], target_oval, mode);
 
3574
       create_fixed_operand (&ops[1], mem);
 
3575
-      create_convert_operand_to (&ops[2], expected, mode, true);
 
3576
-      create_convert_operand_to (&ops[3], desired, mode, true);
 
3577
+      create_input_operand (&ops[2], expected, mode);
 
3578
+      create_input_operand (&ops[3], desired, mode);
 
3579
       if (!maybe_expand_insn (icode, 4, ops))
 
3580
        return false;
 
3581
 
 
3582
Index: gcc/DATESTAMP
 
3583
===================================================================
 
3584
--- a/src/gcc/DATESTAMP (.../tags/gcc_4_8_2_release)
 
3585
+++ b/src/gcc/DATESTAMP (.../branches/gcc-4_8-branch)
 
3586
@@ -1 +1 @@
 
3587
-20131016
 
3588
+20131121
 
3589
Index: gcc/configure
 
3590
===================================================================
 
3591
--- a/src/gcc/configure (.../tags/gcc_4_8_2_release)
 
3592
+++ b/src/gcc/configure (.../branches/gcc-4_8-branch)
 
3593
@@ -27239,8 +27239,8 @@
 
3594
 $as_echo_n "checking for exported symbols... " >&6; }
 
3595
   if test "x$export_sym_check" != x; then
 
3596
     echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c
 
3597
-    ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1
 
3598
-    if $export_sym_check conftest | grep foobar > /dev/null; then
 
3599
+    ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest$ac_exeext > /dev/null 2>&1
 
3600
+    if $export_sym_check conftest$ac_exeext | grep -q foobar > /dev/null; then
 
3601
       : # No need to use a flag
 
3602
       { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 
3603
 $as_echo "yes" >&6; }
 
3604
@@ -27249,8 +27249,8 @@
 
3605
 $as_echo "yes" >&6; }
 
3606
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -rdynamic" >&5
 
3607
 $as_echo_n "checking for -rdynamic... " >&6; }
 
3608
-      ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
 
3609
-      if $export_sym_check conftest | grep foobar > /dev/null; then
 
3610
+      ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest$ac_exeext > /dev/null 2>&1
 
3611
+      if $export_sym_check conftest$ac_exeext | grep -q foobar > /dev/null; then
 
3612
         plugin_rdynamic=yes
 
3613
         pluginlibs="-rdynamic"
 
3614
       else
 
3615
Index: gcc/fold-const.c
 
3616
===================================================================
 
3617
--- a/src/gcc/fold-const.c      (.../tags/gcc_4_8_2_release)
 
3618
+++ b/src/gcc/fold-const.c      (.../branches/gcc-4_8-branch)
 
3619
@@ -2664,10 +2664,11 @@
 
3620
        case COMPONENT_REF:
 
3621
          /* Handle operand 2 the same as for ARRAY_REF.  Operand 0
 
3622
             may be NULL when we're called to compare MEM_EXPRs.  */
 
3623
-         if (!OP_SAME_WITH_NULL (0))
 
3624
+         if (!OP_SAME_WITH_NULL (0)
 
3625
+             || !OP_SAME (1))
 
3626
            return 0;
 
3627
          flags &= ~OEP_CONSTANT_ADDRESS_OF;
 
3628
-         return OP_SAME (1) && OP_SAME_WITH_NULL (2);
 
3629
+         return OP_SAME_WITH_NULL (2);
 
3630
 
 
3631
        case BIT_FIELD_REF:
 
3632
          if (!OP_SAME (0))
 
3633
@@ -10927,6 +10928,13 @@
 
3634
                                fold_build2_loc (loc, MULT_EXPR, type,
 
3635
                                             build_int_cst (type, 2) , arg1));
 
3636
 
 
3637
+         /* ((T) (X /[ex] C)) * C cancels out if the conversion is
 
3638
+            sign-changing only.  */
 
3639
+         if (TREE_CODE (arg1) == INTEGER_CST
 
3640
+             && TREE_CODE (arg0) == EXACT_DIV_EXPR
 
3641
+             && operand_equal_p (arg1, TREE_OPERAND (arg0, 1), 0))
 
3642
+           return fold_convert_loc (loc, type, TREE_OPERAND (arg0, 0));
 
3643
+
 
3644
          strict_overflow_p = false;
 
3645
          if (TREE_CODE (arg1) == INTEGER_CST
 
3646
              && 0 != (tem = extract_muldiv (op0, arg1, code, NULL_TREE,
 
3647
Index: gcc/ChangeLog
 
3648
===================================================================
 
3649
--- a/src/gcc/ChangeLog (.../tags/gcc_4_8_2_release)
 
3650
+++ b/src/gcc/ChangeLog (.../branches/gcc-4_8-branch)
 
3651
@@ -1,3 +1,345 @@
 
3652
+2013-11-21  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
 
3653
+
 
3654
+       PR bootstrap/57683
 
3655
+       Backport from mainline: r197467 and r198999.
 
3656
+       2013-04-03  Jeff Law  <law@redhat.com>
 
3657
+
 
3658
+       * Makefile.in (lra-constraints.o): Depend on $(OPTABS_H).
 
3659
+       (lra-eliminations.o): Likewise.
 
3660
+
 
3661
+       2013-05-16  Jeff Law  <law@redhat.com>
 
3662
+
 
3663
+       * Makefile.in (tree-switch-conversion.o): Depend on $(OPTABS_H).
 
3664
+
 
3665
+2013-11-20  Eric Botcazou  <ebotcazou@adacore.com>
 
3666
+
 
3667
+       PR target/59207
 
3668
+       * config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>:
 
3669
+       Make sure neg2_ovf is set before being used.
 
3670
+
 
3671
+2013-11-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
3672
+           Dominik Vogt  <vogt@linux.vnet.ibm.com>
 
3673
+
 
3674
+       Backport from mainline
 
3675
+       * config/s390/s390.c (s390_canonicalize_comparison): Don't fold
 
3676
+       int comparisons with an out of range condition code.
 
3677
+       (s390_optimize_nonescaping_tx): Skip empty BBs.
 
3678
+       Generate the new tbegin RTX when removing the FPR clobbers (with
 
3679
+       two SETs).
 
3680
+       (s390_expand_tbegin): Fix the retry loop counter.  Copy CC to the
 
3681
+       result before doing the retry calculations.
 
3682
+       (s390_init_builtins): Make tbegin "returns_twice" and tabort
 
3683
+       "noreturn".
 
3684
+       * config/s390/s390.md (UNSPECV_TBEGIN_TDB): New constant used for
 
3685
+       the TDB setting part of an tbegin.
 
3686
+       ("tbegin_1", "tbegin_nofloat_1"): Add a set for the TDB.
 
3687
+       ("tx_assist"): Set unused argument to an immediate zero instead of
 
3688
+       loading zero into a GPR and pass it as argument.
 
3689
+       * config/s390/htmxlintrin.h (__TM_simple_begin, __TM_begin):
 
3690
+       Remove inline and related attributes.
 
3691
+       (__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
 
3692
+       (__TM_is_illegal, __TM_is_footprint_exceeded)
 
3693
+       (__TM_is_nested_too_deep, __TM_is_conflict): Fix format value
 
3694
+       check.
 
3695
+
 
3696
+2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
 
3697
+
 
3698
+       Backport from mainline
 
3699
+       2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
 
3700
+
 
3701
+       * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
 
3702
+       ix86_address_subreg_operand.  Move subreg checks to
 
3703
+       ix86_validate_address_register.  Move address override check to
 
3704
+       ix86_legitimate_address_p.
 
3705
+       (ix86_validate_address_register): New function.
 
3706
+       (ix86_legitimate_address_p): Call ix86_validate_address_register
 
3707
+       to validate base and index registers.  Add address override check
 
3708
+       from ix86_decompose_address.
 
3709
+       (ix86_decompose_address): Remove.
 
3710
+
 
3711
+       Backport from mainline
 
3712
+       2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
 
3713
+
 
3714
+       PR target/59153
 
3715
+       * config/i386/i386.c (ix86_address_subreg_operand): Do not
 
3716
+       reject non-integer subregs.
 
3717
+       (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
 
3718
+       Move check for invalid x32 constant addresses ...
 
3719
+       (ix86_legitimate_address_p): ... here.
 
3720
+
 
3721
+2013-11-19  Richard Biener  <rguenther@suse.de>
 
3722
+
 
3723
+       Backport from mainline
 
3724
+       2013-11-07  Richard Biener  <rguenther@suse.de>
 
3725
+
 
3726
+       * tree-dfa.c (get_ref_base_and_extent): Fix casting.
 
3727
+
 
3728
+2013-11-19  Richard Biener  <rguenther@suse.de>
 
3729
+
 
3730
+       PR tree-optimization/57517
 
3731
+       * tree-predcom.c (combinable_refs_p): Verify the combination
 
3732
+       is always executed when the refs are.
 
3733
+
 
3734
+2013-11-19  Richard Biener  <rguenther@suse.de>
 
3735
+
 
3736
+       Backport from mainline
 
3737
+       2013-11-05  Richard Biener  <rguenther@suse.de>
 
3738
+
 
3739
+       PR middle-end/58941
 
3740
+       * tree-dfa.c (get_ref_base_and_extent): Merge common code
 
3741
+       in MEM_REF and TARGET_MEM_REF handling.  Make sure to
 
3742
+       process trailing array detection before diving into the
 
3743
+       view-converted object (and possibly apply some extra offset).
 
3744
+
 
3745
+2013-11-18  Richard Biener  <rguenther@suse.de>
 
3746
+
 
3747
+       Backport from mainline
 
3748
+       2013-10-21  Richard Biener  <rguenther@suse.de>
 
3749
+
 
3750
+       PR tree-optimization/58794
 
3751
+       * fold-const.c (operand_equal_p): Compare FIELD_DECL operand
 
3752
+       of COMPONENT_REFs with OEP_CONSTANT_ADDRESS_OF left in place.
 
3753
+
 
3754
+       2013-10-21  Richard Biener  <rguenther@suse.de>
 
3755
+
 
3756
+       PR middle-end/58742
 
3757
+       * fold-const.c (fold_binary_loc): Fold ((T) (X /[ex] C)) * C
 
3758
+       to (T) X for sign-changing conversions (or no conversion).
 
3759
+
 
3760
+       2013-11-06  Richard Biener  <rguenther@suse.de>
 
3761
+
 
3762
+       PR tree-optimization/58653
 
3763
+       * tree-predcom.c (ref_at_iteration): Rewrite to generate
 
3764
+       a MEM_REF.
 
3765
+       (prepare_initializers_chain): Adjust.
 
3766
+
 
3767
+       PR tree-optimization/59047
 
3768
+       * tree-predcom.c (ref_at_iteration): Handle bitfield accesses
 
3769
+       properly.
 
3770
+
 
3771
+       2013-10-15  Richard Biener  <rguenther@suse.de>
 
3772
+
 
3773
+       PR tree-optimization/58143
 
3774
+       * tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
 
3775
+       New function.
 
3776
+       (rewrite_to_defined_overflow): Likewise.
 
3777
+       (move_computations_dom_walker::before_dom): Rewrite stmts
 
3778
+       with undefined signed overflow that are not always executed
 
3779
+       into unsigned arithmetic.
 
3780
+
 
3781
+2013-11-14  Uros Bizjak  <ubizjak@gmail.com>
 
3782
+
 
3783
+       Backport from mainline
 
3784
+       2013-11-10  Uros Bizjak  <ubizjak@gmail.com>
 
3785
+
 
3786
+       * mode-switching.c (optimize_mode_switching): Mark block as
 
3787
+       nontransparent, if last_mode at block exit is different from no_mode.
 
3788
+
 
3789
+       Backport from mainline
 
3790
+       2013-11-06  Uros Bizjak  <ubizjak@gmail.com>
 
3791
+
 
3792
+       PR target/59021
 
3793
+       * config/i386/i386.c (ix86_avx_u128_mode_needed): Require
 
3794
+       AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
 
3795
+       (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
 
3796
+       RTXes that return in AVX256 register.
 
3797
+
 
3798
+2013-11-14  Jakub Jelinek  <jakub@redhat.com>
 
3799
+           Uros Bizjak  <ubizjak@gmail.com>
 
3800
+
 
3801
+       PR target/59101
 
3802
+       * config/i386/i386.md (*anddi_2): Only allow CCZmode if
 
3803
+       operands[2] satisfies_constraint_Z that might have bit 31 set.
 
3804
+
 
3805
+2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
 
3806
+
 
3807
+       Backported from mainline
 
3808
+       2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
 
3809
+
 
3810
+       PR target/59088
 
3811
+       * config/i386/i386.c (initial_ix86_tune_features): Set
 
3812
+       X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
 
3813
+       X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for m_HASWELL.
 
3814
+
 
3815
+2013-11-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
3816
+
 
3817
+       Backported from mainline
 
3818
+       2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
3819
+
 
3820
+       PR target/58854
 
3821
+       * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage
 
3822
+
 
3823
+2013-11-11  Jakub Jelinek  <jakub@redhat.com>
 
3824
+
 
3825
+       Backported from mainline
 
3826
+       2013-11-06  Jakub Jelinek  <jakub@redhat.com>
 
3827
+
 
3828
+       PR middle-end/58970
 
3829
+       * expr.c (get_bit_range): Handle *offset == NULL_TREE.
 
3830
+       (expand_assignment): If *bitpos is negative, set *offset
 
3831
+       and adjust *bitpos, so that it is not negative.
 
3832
+
 
3833
+       2013-11-05  Jakub Jelinek  <jakub@redhat.com>
 
3834
+
 
3835
+       PR rtl-optimization/58997
 
3836
+       * loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
 
3837
+       get_iv_value to be in iv->mode rather than iv->extend_mode.
 
3838
+       (iv_extend): Likewise.  Otherwise, if iv->extend != extend,
 
3839
+       use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
 
3840
+       * loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
 
3841
+       mode.
 
3842
+
 
3843
+2013-11-10  Karlson2k  <k2k@narod.ru>
 
3844
+           Kai Tietz  <ktietz@redhat.com>
 
3845
+
 
3846
+       Merged from trunk
 
3847
+       PR plugins/52872
 
3848
+       * configure.ac: Adding for exported symbols check
 
3849
+       and for rdynamic-check executable-extension.
 
3850
+       * configure: Regenerated.
 
3851
+
 
3852
+2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
 
3853
+
 
3854
+       PR target/59034
 
3855
+       * config/i386/i386.md (push peepholer/splitter): Use Pmode
 
3856
+       with stack_pointer_rtx.
 
3857
+
 
3858
+2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
 
3859
+
 
3860
+       * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
 
3861
+
 
3862
+2013-11-05  Jakub Jelinek  <jakub@redhat.com>
 
3863
+
 
3864
+       PR tree-optimization/58984
 
3865
+       * ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
 
3866
+       set *SIZE_P if non-NULL on success.
 
3867
+       (ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
 
3868
+       callers.
 
3869
+       (ipcp_transform_function): Likewise.  Punt if size of access
 
3870
+       is different from TYPE_SIZE on v->value's type.
 
3871
+
 
3872
+2013-11-03  H.J. Lu  <hongjiu.lu@intel.com>
 
3873
+
 
3874
+       Backport from mainline
 
3875
+       2013-10-12  H.J. Lu  <hongjiu.lu@intel.com>
 
3876
+
 
3877
+       PR target/58690
 
3878
+       * config/i386/i386.c (ix86_copy_addr_to_reg): New function.
 
3879
+       (ix86_expand_movmem): Replace copy_addr_to_reg with
 
3880
+       ix86_copy_addr_to_reg.
 
3881
+       (ix86_expand_setmem): Likewise.
 
3882
+
 
3883
+2013-10-29  Uros Bizjak  <ubizjak@gmail.com>
 
3884
+
 
3885
+       Backport from mainline
 
3886
+       2013-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
 
3887
+
 
3888
+       PR rtl-optimization/58079
 
3889
+       * combine.c (combine_simplify_rtx): Avoid using SUBST if
 
3890
+       simplify_comparison has widened a comparison with an integer.
 
3891
+
 
3892
+2013-10-29  Martin Jambor  <mjambor@suse.cz>
 
3893
+
 
3894
+       PR middle-end/58789
 
3895
+       Backport from mainline
 
3896
+       2013-05-09  Martin Jambor  <mjambor@suse.cz>
 
3897
+
 
3898
+       PR lto/57084
 
3899
+       * gimple-fold.c (canonicalize_constructor_val): Call
 
3900
+       cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.
 
3901
+
 
3902
+       Backport from mainline
 
3903
+       2013-03-16  Jan Hubicka  <jh@suse.cz>
 
3904
+
 
3905
+       * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
 
3906
+       * cgraph.c (cgraph_get_create_real_symbol_node): New function.
 
3907
+       * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
 
3908
+       of cgraph_get_create_node.
 
3909
+       * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
 
3910
+
 
3911
+2013-10-28  Tom de Vries  <tom@codesourcery.com>
 
3912
+
 
3913
+       * cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
 
3914
+       Don't commit insertions after NOTE_INSN_FUNCTION_BEG.
 
3915
+
 
3916
+2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
 
3917
+
 
3918
+       Backport from mainline
 
3919
+       2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
 
3920
+
 
3921
+       PR target/58779
 
3922
+       * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
 
3923
+       Remove CCCmode handling.
 
3924
+       <case LTU>: Return 'c' suffix for CCCmode.
 
3925
+       <case GEU>: Return 'nc' suffix for CCCmode.
 
3926
+       (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
 
3927
+       * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
 
3928
+       (*sub<mode>3_cc_overflow): Ditto.
 
3929
+       (*subsi3_zext_cc_overflow): Ditto.
 
3930
+
 
3931
+2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
 
3932
+
 
3933
+       Backport from mainline
 
3934
+       2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
 
3935
+
 
3936
+       PR target/58792
 
3937
+       * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
 
3938
+       ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
 
3939
+       and SI_REG for 64bit SYSV ABI targets.
 
3940
+
 
3941
+2013-08-25  Richard Henderson  <rth@twiddle.net>
 
3942
+
 
3943
+       PR rtl/58542
 
3944
+       * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
 
3945
+       instead of create_convert_operand_to.
 
3946
+       (maybe_emit_sync_lock_test_and_set): Likewise.
 
3947
+       (expand_atomic_compare_and_swap): Likewise.
 
3948
+       (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
 
3949
+
 
3950
+2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
 
3951
+
 
3952
+       PR rtl-optimization/58831
 
3953
+       * alias.c (init_alias_analysis): At the beginning of each iteration, set
 
3954
+       the reg_seen[N] bit if static_reg_base_value[N] is non-null.
 
3955
+
 
3956
+2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
 
3957
+
 
3958
+       * recog.c (search_ofs): New static variable moved from...
 
3959
+       (peep2_find_free_register): ...here.
 
3960
+       (peephole2_optimize): Initialize it.
 
3961
+
 
3962
+2013-10-24  David Edelsohn  <dje.gcc@gmail.com>
 
3963
+
 
3964
+       Backport from mainline
 
3965
+       2013-10-23  David Edelsohn  <dje.gcc@gmail.com>
 
3966
+
 
3967
+       PR target/58838
 
3968
+       * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add
 
3969
+       TARGET_32BIT final condition.
 
3970
+       (mulsi3_internal2 and splitter): Same.
 
3971
+
 
3972
+2013-10-23  Tom de Vries  <tom@codesourcery.com>
 
3973
+
 
3974
+       PR tree-optimization/58805
 
3975
+       * tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.
 
3976
+
 
3977
+2013-10-23  Richard Biener  <rguenther@suse.de>
 
3978
+
 
3979
+       Backport from mainline
 
3980
+       2013-06-24  Richard Biener  <rguenther@suse.de>
 
3981
+
 
3982
+       PR tree-optimization/57488
 
3983
+       * tree-ssa-pre.c (insert): Clear NEW sets before each iteration.
 
3984
+
 
3985
+2013-10-16  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
 
3986
+
 
3987
+       Backport from mainline
 
3988
+       2013-10-16  Ganesh Gopalasubramanian
 
3989
+                   <Ganesh.Gopalasubramanian@amd.com>
 
3990
+
 
3991
+       * config/i386/i386.c (ix86_option_override_internal): Enable FMA4
 
3992
+       for AMD bdver3.
 
3993
+
 
3994
 2013-10-16  Release Manager
 
3995
 
 
3996
        * GCC 4.8.2 released.
 
3997
@@ -639,7 +986,7 @@
 
3998
 2013-07-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
3999
 
 
4000
        Backport from mainline
 
4001
-        2013-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
4002
+       2013-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
4003
 
 
4004
        * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.
 
4005
 
 
4006
Index: gcc/testsuite/gcc.target/arm/require-pic-register-loc.c
 
4007
===================================================================
 
4008
--- a/src/gcc/testsuite/gcc.target/arm/require-pic-register-loc.c       (.../tags/gcc_4_8_2_release)
 
4009
+++ b/src/gcc/testsuite/gcc.target/arm/require-pic-register-loc.c       (.../branches/gcc-4_8-branch)
 
4010
@@ -0,0 +1,29 @@
 
4011
+/* { dg-do compile } */
 
4012
+/* { dg-options "-g -fPIC" } */
 
4013
+
 
4014
+void *v;
 
4015
+void a (void *x) { }
 
4016
+void b (void) { }
 
4017
+                       /* line 7.  */
 
4018
+int                    /* line 8.  */
 
4019
+main (int argc)        /* line 9.  */
 
4020
+{                      /* line 10.  */
 
4021
+  if (argc == 12345)   /* line 11.  */
 
4022
+    {
 
4023
+      a (v);
 
4024
+      return 1;
 
4025
+    }
 
4026
+  b ();
 
4027
+
 
4028
+  return 0;
 
4029
+}
 
4030
+
 
4031
+/* { dg-final { scan-assembler-not "\.loc 1 7 0" } } */
 
4032
+/* { dg-final { scan-assembler-not "\.loc 1 8 0" } } */
 
4033
+/* { dg-final { scan-assembler-not "\.loc 1 9 0" } } */
 
4034
+
 
4035
+/* The loc at the start of the prologue.  */
 
4036
+/* { dg-final { scan-assembler-times "\.loc 1 10 0" 1 } } */
 
4037
+
 
4038
+/* The loc at the end of the prologue, with the first user line.  */
 
4039
+/* { dg-final { scan-assembler-times "\.loc 1 11 0" 1 } } */
 
4040
Index: gcc/testsuite/gcc.target/i386/pr59034-1.c
 
4041
===================================================================
 
4042
--- a/src/gcc/testsuite/gcc.target/i386/pr59034-1.c     (.../tags/gcc_4_8_2_release)
 
4043
+++ b/src/gcc/testsuite/gcc.target/i386/pr59034-1.c     (.../branches/gcc-4_8-branch)
 
4044
@@ -0,0 +1,10 @@
 
4045
+/* { dg-do compile { target { ! { ia32 } } } } */
 
4046
+/* { dg-require-effective-target maybe_x32 } */
 
4047
+/* { dg-options "-O -mx32 -mtune=corei7 -maddress-mode=short" } */
 
4048
+
 
4049
+extern int foo(int, ...);
 
4050
+int bar(void) {
 
4051
+  long double l = 1.2345E6;
 
4052
+  foo(0, l);
 
4053
+  return 0;
 
4054
+}
 
4055
Index: gcc/testsuite/gcc.target/i386/pr58690.c
 
4056
===================================================================
 
4057
--- a/src/gcc/testsuite/gcc.target/i386/pr58690.c       (.../tags/gcc_4_8_2_release)
 
4058
+++ b/src/gcc/testsuite/gcc.target/i386/pr58690.c       (.../branches/gcc-4_8-branch)
 
4059
@@ -0,0 +1,14 @@
 
4060
+/* { dg-do compile { target { ! { ia32 } } } } */
 
4061
+/* { dg-require-effective-target maybe_x32 } */
 
4062
+/* { dg-options "-O2 -mx32 -maddress-mode=short" } */
 
4063
+
 
4064
+struct gomp_thread
 
4065
+{
 
4066
+  char foo[41];
 
4067
+};
 
4068
+extern __thread struct gomp_thread gomp_tls_data;
 
4069
+void
 
4070
+foo (void)
 
4071
+{
 
4072
+  __builtin_memset (&gomp_tls_data, '\0', sizeof (gomp_tls_data));
 
4073
+}
 
4074
Index: gcc/testsuite/gcc.target/i386/pr59021.c
 
4075
===================================================================
 
4076
--- a/src/gcc/testsuite/gcc.target/i386/pr59021.c       (.../tags/gcc_4_8_2_release)
 
4077
+++ b/src/gcc/testsuite/gcc.target/i386/pr59021.c       (.../branches/gcc-4_8-branch)
 
4078
@@ -0,0 +1,23 @@
 
4079
+/* { dg-do compile } */
 
4080
+/* { dg-options "-O2 -mavx -mvzeroupper" } */
 
4081
+
 
4082
+extern void abort (void);
 
4083
+
 
4084
+struct S {
 
4085
+  int i1;
 
4086
+  int i2;
 
4087
+  int i3;
 
4088
+};
 
4089
+
 
4090
+typedef double v4df  __attribute__ ((vector_size (32)));
 
4091
+
 
4092
+extern int foo (v4df, int i1, int i2, int i3, int i4, int i5, struct S s);
 
4093
+
 
4094
+void bar (v4df v, struct S s)
 
4095
+{
 
4096
+  int r = foo (v, 1, 2, 3, 4, 5, s);
 
4097
+  if (r)
 
4098
+    abort ();
 
4099
+}
 
4100
+
 
4101
+/* { dg-final { scan-assembler-not "vzeroupper" } } */
 
4102
Index: gcc/testsuite/gcc.target/i386/pr59034-2.c
 
4103
===================================================================
 
4104
--- a/src/gcc/testsuite/gcc.target/i386/pr59034-2.c     (.../tags/gcc_4_8_2_release)
 
4105
+++ b/src/gcc/testsuite/gcc.target/i386/pr59034-2.c     (.../branches/gcc-4_8-branch)
 
4106
@@ -0,0 +1,10 @@
 
4107
+/* { dg-do compile { target { ! { ia32 } } } } */
 
4108
+/* { dg-require-effective-target maybe_x32 } */
 
4109
+/* { dg-options "-O -mx32 -mtune=corei7 -maddress-mode=long" } */
 
4110
+
 
4111
+extern int foo(int, ...);
 
4112
+int bar(void) {
 
4113
+  long double l = 1.2345E6;
 
4114
+  foo(0, l);
 
4115
+  return 0;
 
4116
+}
 
4117
Index: gcc/testsuite/gcc.target/i386/pr30315.c
 
4118
===================================================================
 
4119
--- a/src/gcc/testsuite/gcc.target/i386/pr30315.c       (.../tags/gcc_4_8_2_release)
 
4120
+++ b/src/gcc/testsuite/gcc.target/i386/pr30315.c       (.../branches/gcc-4_8-branch)
 
4121
@@ -1,6 +1,6 @@
 
4122
 /* { dg-do compile } */
 
4123
 /* { dg-options "-O2" } */
 
4124
-/* { dg-final { scan-assembler-times "cmp" 4 } } */
 
4125
+/* { dg-final { scan-assembler-not "cmp" } } */
 
4126
 
 
4127
 extern void abort (void);
 
4128
 int c;
 
4129
@@ -34,39 +34,10 @@
 
4130
 }
 
4131
 #define PLUSCCONLY(T, t) PLUSCCONLY1(T, t, a) PLUSCCONLY1(T, t, b)
 
4132
 
 
4133
-#define MINUSCC(T, t)  \
 
4134
-T minuscc##t (T a, T b)        \
 
4135
-{      \
 
4136
-  T difference = a - b;        \
 
4137
-  if (difference > a)  \
 
4138
-    abort ();          \
 
4139
-  return difference;   \
 
4140
-}
 
4141
-
 
4142
-#define DECCC(T, t)    \
 
4143
-T deccc##t (T a, T b)  \
 
4144
-{      \
 
4145
-  T difference = a - b;        \
 
4146
-  if (difference > a)  \
 
4147
-    c --;              \
 
4148
-  return difference;   \
 
4149
-}
 
4150
-
 
4151
-#define MINUSCCONLY(T, t)      \
 
4152
-void minuscconly##t (T a, T b) \
 
4153
-{      \
 
4154
-  T difference = a - b;        \
 
4155
-  if (difference > a)  \
 
4156
-    abort ();          \
 
4157
-}
 
4158
-
 
4159
 #define TEST(T, t)     \
 
4160
   PLUSCC(T, t)         \
 
4161
   PLUSCCONLY(T, t)     \
 
4162
-  INCCC(T, t)          \
 
4163
-  MINUSCC(T, t)                \
 
4164
-  MINUSCCONLY(T, t)    \
 
4165
-  DECCC(T, t)
 
4166
+  INCCC(T, t)
 
4167
 
 
4168
 TEST (unsigned long,  l)
 
4169
 TEST (unsigned int,   i)
 
4170
@@ -84,14 +55,3 @@
 
4171
 
 
4172
 PLUSCCZEXT(a)
 
4173
 PLUSCCZEXT(b)
 
4174
-
 
4175
-#define MINUSCCZEXT    \
 
4176
-unsigned long minuscczext (unsigned int a, unsigned int b)     \
 
4177
-{      \
 
4178
-  unsigned int difference = a - b;     \
 
4179
-  if (difference > a)          \
 
4180
-    abort ();                  \
 
4181
-  return difference;           \
 
4182
-}
 
4183
-
 
4184
-MINUSCCZEXT
 
4185
Index: gcc/testsuite/gcc.target/s390/htm-xl-intrin-1.c
 
4186
===================================================================
 
4187
--- a/src/gcc/testsuite/gcc.target/s390/htm-xl-intrin-1.c       (.../tags/gcc_4_8_2_release)
 
4188
+++ b/src/gcc/testsuite/gcc.target/s390/htm-xl-intrin-1.c       (.../branches/gcc-4_8-branch)
 
4189
@@ -1,37 +0,0 @@
 
4190
-/* This checks the availability of the XL compiler intrinsics for
 
4191
-   transactional execution with the expected prototypes.  */
 
4192
-
 
4193
-/* { dg-do compile } */
 
4194
-/* { dg-options "-O3 -march=zEC12 -mzarch" } */
 
4195
-
 
4196
-#include <htmxlintrin.h>
 
4197
-
 
4198
-int a = 0;
 
4199
-unsigned long g;
 
4200
-
 
4201
-int
 
4202
-foo ()
 
4203
-{
 
4204
-  struct __htm_tdb *tdb_struct;
 
4205
-  void * const tdb = tdb_struct;
 
4206
-  long result;
 
4207
-  unsigned char code;
 
4208
-
 
4209
-  result = __TM_simple_begin ();
 
4210
-  result = __TM_begin (tdb);
 
4211
-  result = __TM_end ();
 
4212
-  __TM_abort ();
 
4213
-  __TM_named_abort (42);
 
4214
-  __TM_non_transactional_store (&g, 42);
 
4215
-  result = __TM_nesting_depth (tdb);
 
4216
-
 
4217
-  result = __TM_is_user_abort (tdb);
 
4218
-  result = __TM_is_named_user_abort (tdb, &code);
 
4219
-  result = __TM_is_illegal (tdb);
 
4220
-  result = __TM_is_footprint_exceeded (tdb);
 
4221
-  result = __TM_is_nested_too_deep (tdb);
 
4222
-  result = __TM_is_conflict (tdb);
 
4223
-  result = __TM_is_failure_persistent (result);
 
4224
-  result = __TM_failure_address (tdb);
 
4225
-  result = __TM_failure_code (tdb);
 
4226
-}
 
4227
Index: gcc/testsuite/gcc.target/s390/htm-1.c
 
4228
===================================================================
 
4229
--- a/src/gcc/testsuite/gcc.target/s390/htm-1.c (.../tags/gcc_4_8_2_release)
 
4230
+++ b/src/gcc/testsuite/gcc.target/s390/htm-1.c (.../branches/gcc-4_8-branch)
 
4231
@@ -1,73 +0,0 @@
 
4232
-/* This checks the availability of the low-level builtins introduced
 
4233
-   for transactional execution.  */
 
4234
-
 
4235
-/* { dg-do compile } */
 
4236
-/* { dg-options "-O3 -march=zEC12 -mzarch" } */
 
4237
-
 
4238
-#include <stdint.h>
 
4239
-#include <htmintrin.h>
 
4240
-
 
4241
-int global = 0;
 
4242
-uint64_t g;
 
4243
-struct __htm_tdb global_tdb;
 
4244
-
 
4245
-int
 
4246
-foo (struct __htm_tdb* tdb, int reg, int *mem, uint64_t *mem64)
 
4247
-{
 
4248
-
 
4249
-  int cc;
 
4250
-  int n;
 
4251
-
 
4252
-  cc = __builtin_tbegin (0);
 
4253
-  cc = __builtin_tbegin (tdb);
 
4254
-  cc = __builtin_tbegin (&global_tdb);
 
4255
-
 
4256
-  cc = __builtin_tbegin_nofloat (0);
 
4257
-  cc = __builtin_tbegin_nofloat (&global_tdb);
 
4258
-
 
4259
-  cc = __builtin_tbegin_retry (0, 42);
 
4260
-  cc = __builtin_tbegin_retry (0, reg);
 
4261
-  cc = __builtin_tbegin_retry (0, *mem);
 
4262
-  cc = __builtin_tbegin_retry (0, global);
 
4263
-  cc = __builtin_tbegin_retry (tdb, 42);
 
4264
-  cc = __builtin_tbegin_retry (&global_tdb, 42);
 
4265
-
 
4266
-  cc = __builtin_tbegin_retry_nofloat (0, 42);
 
4267
-  cc = __builtin_tbegin_retry_nofloat (0, reg);
 
4268
-  cc = __builtin_tbegin_retry_nofloat (0, *mem);
 
4269
-  cc = __builtin_tbegin_retry_nofloat (0, global);
 
4270
-  cc = __builtin_tbegin_retry_nofloat (&global_tdb, 42);
 
4271
-
 
4272
-  __builtin_tbeginc ();
 
4273
-
 
4274
-  n = __builtin_tx_nesting_depth();
 
4275
-
 
4276
-  __builtin_non_tx_store(&g, 23);
 
4277
-  __builtin_non_tx_store(mem64, 23);
 
4278
-  __builtin_non_tx_store(&g, reg);
 
4279
-  __builtin_non_tx_store(&g, *mem);
 
4280
-  __builtin_non_tx_store(&g, global);
 
4281
-
 
4282
-  __builtin_tabort (42 + 255);
 
4283
-  __builtin_tabort (reg);
 
4284
-  /* { dg-final { scan-assembler-times "tabort\t255" 1 } } */
 
4285
-  __builtin_tabort (reg + 255);
 
4286
-  __builtin_tabort (*mem);
 
4287
-  __builtin_tabort (global);
 
4288
-  /* Here global + 255 gets reloaded into a reg.  Better would be to
 
4289
-     just reload global or *mem and get the +255 for free as address
 
4290
-     arithmetic.  */
 
4291
-  __builtin_tabort (*mem + 255);
 
4292
-  __builtin_tabort (global + 255);
 
4293
-
 
4294
-  __builtin_tend();
 
4295
-
 
4296
-  __builtin_tx_assist (23);
 
4297
-  __builtin_tx_assist (reg);
 
4298
-  __builtin_tx_assist (*mem);
 
4299
-  __builtin_tx_assist (global);
 
4300
-}
 
4301
-
 
4302
-/* Make sure the tdb NULL argument ends up as immediate value in the
 
4303
-   instruction.  */
 
4304
-/* { dg-final { scan-assembler-times "tbegin\t0," 10 } } */
 
4305
Index: gcc/testsuite/gcc.target/s390/htm-builtins-compile-1.c
 
4306
===================================================================
 
4307
--- a/src/gcc/testsuite/gcc.target/s390/htm-builtins-compile-1.c        (.../tags/gcc_4_8_2_release)
 
4308
+++ b/src/gcc/testsuite/gcc.target/s390/htm-builtins-compile-1.c        (.../branches/gcc-4_8-branch)
 
4309
@@ -0,0 +1,165 @@
 
4310
+/* This checks the availability of the low-level builtins introduced
 
4311
+   for transactional execution.  */
 
4312
+
 
4313
+/* { dg-do compile } */
 
4314
+/* { dg-require-effective-target htm } */
 
4315
+/* { dg-options "-O3 -march=zEC12 -mzarch" } */
 
4316
+
 
4317
+#include <stdint.h>
 
4318
+#include <htmintrin.h>
 
4319
+
 
4320
+int global = 0;
 
4321
+uint64_t g;
 
4322
+struct __htm_tdb global_tdb;
 
4323
+
 
4324
+int
 
4325
+foo (struct __htm_tdb* tdb, int reg, int *mem, uint64_t *mem64)
 
4326
+{
 
4327
+
 
4328
+  int cc;
 
4329
+  int n;
 
4330
+
 
4331
+  __builtin_tbegin ((void *)0);
 
4332
+  __builtin_tbegin ((void *)-99999);
 
4333
+  __builtin_tbegin ((void *)99999);
 
4334
+  while (__builtin_tbegin ((void *)0) != 0)
 
4335
+  {
 
4336
+  }
 
4337
+  cc = __builtin_tbegin ((void *)0x12345678);
 
4338
+  cc = __builtin_tbegin (tdb);
 
4339
+  cc = __builtin_tbegin (&global_tdb);
 
4340
+  cc = __builtin_tbegin ((void *)(long long)(reg + 0x12345678));
 
4341
+  cc = __builtin_tbegin ((void *)(long long)(reg));
 
4342
+
 
4343
+  __builtin_tbegin_nofloat ((void *)0);
 
4344
+  __builtin_tbegin_nofloat ((void *)-99999);
 
4345
+  __builtin_tbegin_nofloat ((void *)99999);
 
4346
+  cc = __builtin_tbegin_nofloat ((void *)0x12345678);
 
4347
+  cc = __builtin_tbegin_nofloat (tdb);
 
4348
+  cc = __builtin_tbegin_nofloat (&global_tdb);
 
4349
+  cc = __builtin_tbegin_nofloat ((void *)(long long)(reg + 0x12345678));
 
4350
+  cc = __builtin_tbegin_nofloat ((void *)(long long)(reg));
 
4351
+
 
4352
+  __builtin_tbegin_retry ((void *)0, 0);
 
4353
+  cc = __builtin_tbegin_retry ((void *)0, 1);
 
4354
+  cc = __builtin_tbegin_retry ((void *)0, -1);
 
4355
+  cc = __builtin_tbegin_retry ((void *)0, 42);
 
4356
+  cc = __builtin_tbegin_retry ((void *)0, reg);
 
4357
+  cc = __builtin_tbegin_retry ((void *)0, *mem);
 
4358
+  cc = __builtin_tbegin_retry ((void *)0, global);
 
4359
+  cc = __builtin_tbegin_retry (tdb, 42);
 
4360
+  cc = __builtin_tbegin_retry (&global_tdb, 42);
 
4361
+  cc = __builtin_tbegin_retry ((void *)0x12345678, global);
 
4362
+  cc = __builtin_tbegin_retry (
 
4363
+         (void *)(long long) (reg + 0x12345678), global + 1);
 
4364
+  cc = __builtin_tbegin_retry (
 
4365
+         (void *)(long long)(reg), global - 1);
 
4366
+
 
4367
+  __builtin_tbegin_retry_nofloat ((void *)0, 0);
 
4368
+  cc = __builtin_tbegin_retry_nofloat ((void *)0, 1);
 
4369
+  cc = __builtin_tbegin_retry_nofloat ((void *)0, -1);
 
4370
+  cc = __builtin_tbegin_retry_nofloat ((void *)0, 42);
 
4371
+  cc = __builtin_tbegin_retry_nofloat ((void *)0, reg);
 
4372
+  cc = __builtin_tbegin_retry_nofloat ((void *)0, *mem);
 
4373
+  cc = __builtin_tbegin_retry_nofloat ((void *)0, global);
 
4374
+  cc = __builtin_tbegin_retry_nofloat (tdb, 42);
 
4375
+  cc = __builtin_tbegin_retry_nofloat (&global_tdb, 42);
 
4376
+  cc = __builtin_tbegin_retry_nofloat ((void *)0x12345678, global);
 
4377
+  cc = __builtin_tbegin_retry_nofloat (
 
4378
+         (void *)(long long) (reg + 0x12345678), global + 1);
 
4379
+  cc = __builtin_tbegin_retry_nofloat (
 
4380
+         (void *)(long long)(reg), global - 1);
 
4381
+
 
4382
+  __builtin_tbeginc ();
 
4383
+
 
4384
+  __builtin_tx_nesting_depth ();
 
4385
+  n = __builtin_tx_nesting_depth ();
 
4386
+
 
4387
+  __builtin_non_tx_store (mem64, 0);
 
4388
+  {
 
4389
+         const uint64_t val_var = 0x1122334455667788;
 
4390
+
 
4391
+         __builtin_non_tx_store (mem64, val_var);
 
4392
+  }
 
4393
+  __builtin_non_tx_store (mem64, (uint64_t)reg);
 
4394
+  __builtin_non_tx_store (mem64, g);
 
4395
+  __builtin_non_tx_store ((uint64_t *)0, 0);
 
4396
+  __builtin_non_tx_store ((uint64_t *)0x12345678, 0);
 
4397
+  __builtin_non_tx_store (&g, 23);
 
4398
+  __builtin_non_tx_store (&g, reg);
 
4399
+  __builtin_non_tx_store (&g, *mem);
 
4400
+  __builtin_non_tx_store (&g, global);
 
4401
+
 
4402
+  __builtin_tend();
 
4403
+
 
4404
+  __builtin_tx_assist (0);
 
4405
+  __builtin_tx_assist (1);
 
4406
+  __builtin_tx_assist (reg);
 
4407
+  __builtin_tx_assist (*mem);
 
4408
+  __builtin_tx_assist (global);
 
4409
+}
 
4410
+
 
4411
+/* The taborts must go into separate function since they are
 
4412
+   "noreturn".  */
 
4413
+
 
4414
+void
 
4415
+tabort1 ()
 
4416
+{
 
4417
+  __builtin_tabort (256);
 
4418
+}
 
4419
+
 
4420
+void
 
4421
+tabort2 (int reg)
 
4422
+{
 
4423
+  __builtin_tabort (reg);
 
4424
+}
 
4425
+
 
4426
+void
 
4427
+tabort3 (int reg)
 
4428
+{
 
4429
+  /* { dg-final { scan-assembler-times "tabort\t255" 1 } } */
 
4430
+  __builtin_tabort (reg + 255);
 
4431
+}
 
4432
+
 
4433
+void
 
4434
+tabort4 (int *mem)
 
4435
+{
 
4436
+  __builtin_tabort (*mem);
 
4437
+}
 
4438
+
 
4439
+void
 
4440
+tabort5 ()
 
4441
+{
 
4442
+  __builtin_tabort (global);
 
4443
+}
 
4444
+
 
4445
+void
 
4446
+tabort6 (int *mem)
 
4447
+{
 
4448
+  /* Here global + 255 gets reloaded into a reg.  Better would be to
 
4449
+     just reload global or *mem and get the +255 for free as address
 
4450
+     arithmetic.  */
 
4451
+  __builtin_tabort (*mem + 255);
 
4452
+}
 
4453
+
 
4454
+void
 
4455
+tabort7 ()
 
4456
+{
 
4457
+  __builtin_tabort (global + 255);
 
4458
+}
 
4459
+
 
4460
+void
 
4461
+tabort8 ()
 
4462
+{
 
4463
+  __builtin_tabort (-1);
 
4464
+}
 
4465
+
 
4466
+
 
4467
+/* Make sure the tdb NULL argument ends up as immediate value in the
 
4468
+   instruction.  */
 
4469
+/* { dg-final { scan-assembler-times "tbegin\t0," 17 } } */
 
4470
+/* { dg-final { scan-assembler-times "tbegin\t" 41 } } */
 
4471
+/* Check number of occurences of certain instructions.  */
 
4472
+/* { dg-final { scan-assembler-times "tbeginc\t" 1 } } */
 
4473
+/* { dg-final { scan-assembler-times "tabort\t" 8 } } */
 
4474
+/* { dg-final { scan-assembler "ppa\t" } } */
 
4475
Index: gcc/testsuite/gcc.target/s390/htm-builtins-compile-2.c
 
4476
===================================================================
 
4477
--- a/src/gcc/testsuite/gcc.target/s390/htm-builtins-compile-2.c        (.../tags/gcc_4_8_2_release)
 
4478
+++ b/src/gcc/testsuite/gcc.target/s390/htm-builtins-compile-2.c        (.../branches/gcc-4_8-branch)
 
4479
@@ -0,0 +1,13 @@
 
4480
+/* { dg-do compile } */
 
4481
+/* { dg-require-effective-target htm } */
 
4482
+/* { dg-options "-O3 -march=zEC12 -mzarch" } */
 
4483
+
 
4484
+void must_not_compile1 (void)
 
4485
+{
 
4486
+  __builtin_tabort (0); /* { dg-error "Invalid transaction abort code:" } */
 
4487
+}
 
4488
+
 
4489
+void must_not_compile2 (void)
 
4490
+{
 
4491
+  __builtin_tabort (255); /* { dg-error "Invalid transaction abort code:" } */
 
4492
+}
 
4493
Index: gcc/testsuite/gcc.target/s390/htm-builtins-compile-3.c
 
4494
===================================================================
 
4495
--- a/src/gcc/testsuite/gcc.target/s390/htm-builtins-compile-3.c        (.../tags/gcc_4_8_2_release)
 
4496
+++ b/src/gcc/testsuite/gcc.target/s390/htm-builtins-compile-3.c        (.../branches/gcc-4_8-branch)
 
4497
@@ -0,0 +1,37 @@
 
4498
+/* This checks the availability of the XL compiler intrinsics for
 
4499
+   transactional execution with the expected prototypes.  */
 
4500
+
 
4501
+/* { dg-do compile } */
 
4502
+/* { dg-options "-O3 -march=zEC12 -mzarch" } */
 
4503
+
 
4504
+#include <htmxlintrin.h>
 
4505
+
 
4506
+int a = 0;
 
4507
+unsigned long g;
 
4508
+
 
4509
+int
 
4510
+foo ()
 
4511
+{
 
4512
+  struct __htm_tdb *tdb_struct;
 
4513
+  void * const tdb = tdb_struct;
 
4514
+  long result;
 
4515
+  unsigned char code;
 
4516
+
 
4517
+  result = __TM_simple_begin ();
 
4518
+  result = __TM_begin (tdb);
 
4519
+  result = __TM_end ();
 
4520
+  __TM_abort ();
 
4521
+  __TM_named_abort (42);
 
4522
+  __TM_non_transactional_store (&g, 42);
 
4523
+  result = __TM_nesting_depth (tdb);
 
4524
+
 
4525
+  result = __TM_is_user_abort (tdb);
 
4526
+  result = __TM_is_named_user_abort (tdb, &code);
 
4527
+  result = __TM_is_illegal (tdb);
 
4528
+  result = __TM_is_footprint_exceeded (tdb);
 
4529
+  result = __TM_is_nested_too_deep (tdb);
 
4530
+  result = __TM_is_conflict (tdb);
 
4531
+  result = __TM_is_failure_persistent (result);
 
4532
+  result = __TM_failure_address (tdb);
 
4533
+  result = __TM_failure_code (tdb);
 
4534
+}
 
4535
Index: gcc/testsuite/gcc.target/s390/s390.exp
 
4536
===================================================================
 
4537
--- a/src/gcc/testsuite/gcc.target/s390/s390.exp        (.../tags/gcc_4_8_2_release)
 
4538
+++ b/src/gcc/testsuite/gcc.target/s390/s390.exp        (.../branches/gcc-4_8-branch)
 
4539
@@ -24,6 +24,19 @@
 
4540
 # Load support procs.
 
4541
 load_lib gcc-dg.exp
 
4542
 
 
4543
+# Return 1 if htm (etnd - extract nesting depth) instructions can be
 
4544
+# compiled.
 
4545
+proc check_effective_target_htm { } {
 
4546
+    if { ![check_runtime s390_check_htm [subst {
 
4547
+       int main (void)
 
4548
+       {
 
4549
+           unsigned int nd = 77;
 
4550
+           asm (".insn rre,0xb2ec0000,%0,0" : "=d" (nd));
 
4551
+           return nd;
 
4552
+       }
 
4553
+    }]] } { return 0 } else { return 1 }
 
4554
+}
 
4555
+
 
4556
 # If a testcase doesn't have special options, use these.
 
4557
 global DEFAULT_CFLAGS
 
4558
 if ![info exists DEFAULT_CFLAGS] then {
 
4559
Index: gcc/testsuite/gcc.target/s390/htm-builtins-1.c
 
4560
===================================================================
 
4561
--- a/src/gcc/testsuite/gcc.target/s390/htm-builtins-1.c        (.../tags/gcc_4_8_2_release)
 
4562
+++ b/src/gcc/testsuite/gcc.target/s390/htm-builtins-1.c        (.../branches/gcc-4_8-branch)
 
4563
@@ -0,0 +1,1073 @@
 
4564
+/* Functional tests of the htm __builtin_... macros.  */
 
4565
+
 
4566
+/* { dg-do run } */
 
4567
+/* { dg-require-effective-target htm } */
 
4568
+/* { dg-options "-O3 -march=zEC12 -mzarch" } */
 
4569
+
 
4570
+/* ---------------------------- included header files ---------------------- */
 
4571
+
 
4572
+#include <stdio.h>
 
4573
+#include <string.h>
 
4574
+#include <stdint.h>
 
4575
+#include <htmintrin.h>
 
4576
+
 
4577
+/* ---------------------------- local definitions -------------------------- */
 
4578
+
 
4579
+#define DEFAULT_MAX_REPETITIONS 5
 
4580
+#define DEFAULT_REQUIRED_QUORUM ((DEFAULT_MAX_REPETITIONS) - 1)
 
4581
+#define NUM_WARMUP_RUNS 10
 
4582
+
 
4583
+/* ---------------------------- local macros ------------------------------- */
 
4584
+
 
4585
+#define TEST_DF_REP(name) \
 
4586
+  { #name, name, DEFAULT_MAX_REPETITIONS, DEFAULT_REQUIRED_QUORUM }
 
4587
+#define TEST_NO_REP(name) { #name, name, 1, 1 }
 
4588
+
 
4589
+/* ---------------------------- local types -------------------------------- */
 
4590
+
 
4591
+typedef int (*test_func_t)(void);
 
4592
+
 
4593
+typedef struct
 
4594
+{
 
4595
+  const char *name;
 
4596
+  test_func_t test_func;
 
4597
+  int max_repetitions;
 
4598
+  int required_quorum;
 
4599
+} test_table_entry_t;
 
4600
+
 
4601
+/* ---------------------------- local variables ---------------------------- */
 
4602
+
 
4603
+__attribute__ ((aligned(256))) static struct __htm_tdb local_tdb256;
 
4604
+static struct __htm_tdb local_tdb;
 
4605
+static int do_dump_tdb = 0;
 
4606
+
 
4607
+/* ---------------------------- exported variables (globals) --------------- */
 
4608
+
 
4609
+__attribute__ ((aligned(256))) struct
 
4610
+{
 
4611
+  float float_1;
 
4612
+  float float_2;
 
4613
+  float float_3;
 
4614
+} global = { 1.0, 2.5, 0.0 };
 
4615
+
 
4616
+__attribute__ ((aligned(256))) struct
 
4617
+{
 
4618
+  volatile uint64_t c1;
 
4619
+  volatile uint64_t c2;
 
4620
+  volatile uint64_t c3;
 
4621
+} counters = { 0, 0, 0 };
 
4622
+
 
4623
+/* ---------------------------- local helper functions --------------------- */
 
4624
+
 
4625
+static void dump_tdb (struct __htm_tdb *tdb)
 
4626
+{
 
4627
+  unsigned char *p;
 
4628
+  int i;
 
4629
+  int j;
 
4630
+
 
4631
+  if (do_dump_tdb == 0)
 
4632
+    {
 
4633
+      return;
 
4634
+    }
 
4635
+  p = (unsigned char *)tdb;
 
4636
+  for (i = 0; i < 16; i++)
 
4637
+    {
 
4638
+      fprintf (stderr, "0x%02x  ", i * 16);
 
4639
+      for (j = 0; j < 16; j++)
 
4640
+       {
 
4641
+         fprintf (stderr, "%02x", (int)p[i * 16 + j]);
 
4642
+         if (j < 15)
 
4643
+           {
 
4644
+             fprintf (stderr, " ");
 
4645
+           }
 
4646
+         if (j == 7)
 
4647
+           {
 
4648
+             fprintf (stderr, " ");
 
4649
+           }
 
4650
+       }
 
4651
+      fprintf (stderr, "\n");
 
4652
+    }
 
4653
+
 
4654
+  return;
 
4655
+}
 
4656
+
 
4657
+/* ---------------------------- local test functions ----------------------- */
 
4658
+
 
4659
+/* Check values of the constants defined in htmintrin.h.  */
 
4660
+static int test_constants (void)
 
4661
+{
 
4662
+  if (_HTM_TBEGIN_STARTED != 0)
 
4663
+    {
 
4664
+      return 100 * _HTM_TBEGIN_STARTED + 1;
 
4665
+    }
 
4666
+  if (_HTM_TBEGIN_INDETERMINATE != 1)
 
4667
+    {
 
4668
+      return 100 * _HTM_TBEGIN_INDETERMINATE + 2;
 
4669
+    }
 
4670
+  if (_HTM_TBEGIN_TRANSIENT != 2)
 
4671
+    {
 
4672
+      return 100 * _HTM_TBEGIN_TRANSIENT + 3;
 
4673
+    }
 
4674
+  if (_HTM_TBEGIN_PERSISTENT != 3)
 
4675
+    {
 
4676
+      return 100 * _HTM_TBEGIN_PERSISTENT + 4;
 
4677
+    }
 
4678
+
 
4679
+  return 0;
 
4680
+}
 
4681
+
 
4682
+static int test_tbegin_ntstg_tend (void)
 
4683
+{
 
4684
+  int rc;
 
4685
+
 
4686
+  counters.c1 = 0;
 
4687
+  counters.c2 = 0;
 
4688
+  if ((rc = __builtin_tbegin ((void *)0)) == 0)
 
4689
+    {
 
4690
+      __builtin_non_tx_store ((uint64_t *)&counters.c1, 1);
 
4691
+      counters.c2 = 2;
 
4692
+      rc = __builtin_tend ();
 
4693
+      if (rc != 0)
 
4694
+       {
 
4695
+         return 100 * rc + 5;
 
4696
+       }
 
4697
+      if (counters.c1 != 1)
 
4698
+       {
 
4699
+         return 100 * counters.c1 + 2;
 
4700
+       }
 
4701
+      if (counters.c2 != 2)
 
4702
+       {
 
4703
+         return 100 * counters.c2 + 3;
 
4704
+       }
 
4705
+    }
 
4706
+  else
 
4707
+    {
 
4708
+      return 100 * rc + 4;
 
4709
+    }
 
4710
+
 
4711
+  return 0;
 
4712
+}
 
4713
+
 
4714
+static int test_tbegin_ntstg_tabort (void)
 
4715
+{
 
4716
+  float f;
 
4717
+
 
4718
+  counters.c1 = 0;
 
4719
+  counters.c2 = 0;
 
4720
+  f = 0;
 
4721
+  if (__builtin_tbegin ((void *)0) == 0)
 
4722
+    {
 
4723
+      __builtin_non_tx_store ((uint64_t *)&counters.c1, 1);
 
4724
+      counters.c2 = 2;
 
4725
+      f = 1;
 
4726
+      __builtin_tabort (256);
 
4727
+      return 1;
 
4728
+    }
 
4729
+  if (counters.c1 != 1)
 
4730
+    {
 
4731
+      return 100 * counters.c1 + 2;
 
4732
+    }
 
4733
+  if (counters.c2 != 0)
 
4734
+    {
 
4735
+      return 100 * counters.c2 + 3;
 
4736
+    }
 
4737
+  if (f != 0)
 
4738
+    {
 
4739
+      return 100 * f + 4;
 
4740
+    }
 
4741
+
 
4742
+  return 0;
 
4743
+}
 
4744
+
 
4745
+static int test_tbegin_nofloat (void)
 
4746
+{
 
4747
+  int rc;
 
4748
+
 
4749
+  counters.c1 = 0;
 
4750
+  counters.c2 = 0;
 
4751
+  if ((rc = __builtin_tbegin_nofloat ((void *)0)) == 0)
 
4752
+    {
 
4753
+      __builtin_non_tx_store ((uint64_t *)&counters.c1, 1);
 
4754
+      counters.c2 = 2;
 
4755
+      rc = __builtin_tend ();
 
4756
+      if (rc != 0)
 
4757
+       {
 
4758
+         return 100 * rc + 5;
 
4759
+       }
 
4760
+      if (counters.c1 != 1)
 
4761
+       {
 
4762
+         return 100 * counters.c1 + 2;
 
4763
+       }
 
4764
+      if (counters.c2 != 2)
 
4765
+       {
 
4766
+         return 100 * counters.c2 + 3;
 
4767
+       }
 
4768
+    }
 
4769
+  else
 
4770
+    {
 
4771
+      return 100 * rc + 4;
 
4772
+    }
 
4773
+
 
4774
+  return 0;
 
4775
+}
 
4776
+
 
4777
+static int test_tbegin_retry (void)
 
4778
+{
 
4779
+  int rc;
 
4780
+
 
4781
+  counters.c1 = 0;
 
4782
+  counters.c2 = 0;
 
4783
+  counters.c3 = 0;
 
4784
+  if ((rc = __builtin_tbegin_retry ((void *)0, 5)) == 0)
 
4785
+    {
 
4786
+      int do_abort;
 
4787
+
 
4788
+      do_abort = (counters.c1 == 0) ? 1 : 0;
 
4789
+      __builtin_non_tx_store (
 
4790
+                            (uint64_t *)&counters.c1, counters.c1 + 1);
 
4791
+      if (do_abort == 1)
 
4792
+       {
 
4793
+         __builtin_tabort (256);
 
4794
+       }
 
4795
+      counters.c2 = counters.c2 + 10;
 
4796
+      __builtin_non_tx_store ((uint64_t *)&counters.c3, 3);
 
4797
+      rc = __builtin_tend ();
 
4798
+      if (rc != 0)
 
4799
+       {
 
4800
+         return 100 * rc + 5;
 
4801
+       }
 
4802
+      if (counters.c1 != 2)
 
4803
+       {
 
4804
+         return 100 * counters.c1 + 2;
 
4805
+       }
 
4806
+      if (counters.c2 != 10)
 
4807
+       {
 
4808
+         return 100 * counters.c2 + 3;
 
4809
+       }
 
4810
+      if (counters.c3 != 3)
 
4811
+       {
 
4812
+         return 100 * counters.c3 + 6;
 
4813
+       }
 
4814
+    }
 
4815
+  else
 
4816
+    {
 
4817
+      return 100 * rc + 4;
 
4818
+    }
 
4819
+
 
4820
+  return 0;
 
4821
+}
 
4822
+
 
4823
+static int test_tbegin_retry_nofloat (void)
 
4824
+{
 
4825
+  int rc;
 
4826
+
 
4827
+  counters.c1 = 0;
 
4828
+  counters.c2 = 0;
 
4829
+  counters.c3 = 0;
 
4830
+  if ((rc = __builtin_tbegin_retry_nofloat ((void *)0, 5)) == 0)
 
4831
+    {
 
4832
+      int do_abort;
 
4833
+
 
4834
+      do_abort = (counters.c1 == 0) ? 1 : 0;
 
4835
+      __builtin_non_tx_store (
 
4836
+                            (uint64_t *)&counters.c1, counters.c1 + 1);
 
4837
+      if (do_abort == 1)
 
4838
+       {
 
4839
+         __builtin_tabort (256);
 
4840
+       }
 
4841
+      counters.c2 = counters.c2 + 10;
 
4842
+      __builtin_non_tx_store ((uint64_t *)&counters.c3, 3);
 
4843
+      rc = __builtin_tend ();
 
4844
+      if (rc != 0)
 
4845
+       {
 
4846
+         return 100 * rc + 5;
 
4847
+       }
 
4848
+      if (counters.c1 != 2)
 
4849
+       {
 
4850
+         return 100 * counters.c1 + 2;
 
4851
+       }
 
4852
+      if (counters.c2 != 10)
 
4853
+       {
 
4854
+         return 100 * counters.c2 + 3;
 
4855
+       }
 
4856
+      if (counters.c3 != 3)
 
4857
+       {
 
4858
+         return 100 * counters.c3 + 6;
 
4859
+       }
 
4860
+    }
 
4861
+  else
 
4862
+    {
 
4863
+      return 100 * rc + 4;
 
4864
+    }
 
4865
+
 
4866
+  return 0;
 
4867
+}
 
4868
+
 
4869
+static int test_tbegin_aborts (void)
 
4870
+{
 
4871
+  float f;
 
4872
+  int rc;
 
4873
+
 
4874
+  f = 77;
 
4875
+  if ((rc = __builtin_tbegin ((void *)0)) == 0)
 
4876
+    {
 
4877
+      f = 88;
 
4878
+      __builtin_tabort (256);
 
4879
+      return 2;
 
4880
+    }
 
4881
+  else if (rc != 2)
 
4882
+    {
 
4883
+      return 3;
 
4884
+    }
 
4885
+  if (f != 77)
 
4886
+    {
 
4887
+      return 4;
 
4888
+    }
 
4889
+  f = 66;
 
4890
+  if ((rc = __builtin_tbegin ((void *)0)) == 0)
 
4891
+    {
 
4892
+      f = 99;
 
4893
+      __builtin_tabort (257);
 
4894
+      return 5;
 
4895
+    }
 
4896
+  else if (rc != 3)
 
4897
+    {
 
4898
+      return 100 * rc + 6;
 
4899
+    }
 
4900
+  if (f != 66)
 
4901
+    {
 
4902
+      return 100 * f + 7;
 
4903
+    }
 
4904
+  if ((rc = __builtin_tbegin ((void *)0)) == 0)
 
4905
+    {
 
4906
+      global.float_3 = global.float_1 + global.float_2;
 
4907
+      rc = __builtin_tend ();
 
4908
+      if (rc != 0)
 
4909
+       {
 
4910
+         return 100 * rc + 8;
 
4911
+       }
 
4912
+    }
 
4913
+  else
 
4914
+    {
 
4915
+      return 100 * rc + 9;
 
4916
+    }
 
4917
+  if (global.float_3 != global.float_1 + global.float_2)
 
4918
+    {
 
4919
+      return 100 * rc + 10;
 
4920
+    }
 
4921
+
 
4922
+  return 0;
 
4923
+}
 
4924
+
 
4925
+static __attribute__((noinline)) void indirect_abort(int abort_code)
 
4926
+{
 
4927
+  __builtin_tabort (abort_code);
 
4928
+
 
4929
+  return;
 
4930
+}
 
4931
+
 
4932
+static int test_tbegin_indirect_aborts (void)
 
4933
+{
 
4934
+  float f;
 
4935
+  int rc;
 
4936
+
 
4937
+  f = 77;
 
4938
+  if ((rc = __builtin_tbegin ((void *)0)) == 0)
 
4939
+    {
 
4940
+      f = 88;
 
4941
+      indirect_abort(256);
 
4942
+      return 2;
 
4943
+    }
 
4944
+  else if (rc != 2)
 
4945
+    {
 
4946
+      return 100 * rc + 3;
 
4947
+    }
 
4948
+  if (f != 77)
 
4949
+    {
 
4950
+      return 100 * rc + 4;
 
4951
+    }
 
4952
+  f = 66;
 
4953
+  if ((rc = __builtin_tbegin ((void *)0)) == 0)
 
4954
+    {
 
4955
+      f = 99;
 
4956
+      indirect_abort(257);
 
4957
+      return 5;
 
4958
+    }
 
4959
+  else if (rc != 3)
 
4960
+    {
 
4961
+      return 100 * rc + 6;
 
4962
+    }
 
4963
+  if (f != 66)
 
4964
+    {
 
4965
+      return 100 * f + 7;
 
4966
+    }
 
4967
+
 
4968
+  return 0;
 
4969
+}
 
4970
+
 
4971
+static int test_tbegin_nofloat_aborts (void)
 
4972
+{
 
4973
+  int rc;
 
4974
+
 
4975
+  if ((rc = __builtin_tbegin_nofloat ((void *)0)) == 0)
 
4976
+    {
 
4977
+      __builtin_tabort (256);
 
4978
+      return 2;
 
4979
+    }
 
4980
+  if ((rc = __builtin_tbegin_nofloat ((void *)0)) == 0)
 
4981
+    {
 
4982
+      __builtin_tabort (257);
 
4983
+      return 1005;
 
4984
+    }
 
4985
+  else if (rc != 3)
 
4986
+    {
 
4987
+      return 1000 * rc + 6;
 
4988
+    }
 
4989
+
 
4990
+  return 0;
 
4991
+}
 
4992
+
 
4993
+static int test_tbegin_nofloat_indirect_aborts (void)
 
4994
+{
 
4995
+  int rc;
 
4996
+
 
4997
+  if ((rc = __builtin_tbegin_nofloat ((void *)0)) == 0)
 
4998
+    {
 
4999
+      indirect_abort (256);
 
5000
+      return 2;
 
5001
+    }
 
5002
+  if ((rc = __builtin_tbegin_nofloat ((void *)0)) == 0)
 
5003
+    {
 
5004
+      indirect_abort (257);
 
5005
+      return 1005;
 
5006
+    }
 
5007
+  else if (rc != 3)
 
5008
+    {
 
5009
+      return 1000 * rc + 6;
 
5010
+    }
 
5011
+
 
5012
+  return 0;
 
5013
+}
 
5014
+
 
5015
+static
 
5016
+int _test_tbegin_retry_aborts (int retries, uint64_t abort_code)
 
5017
+{
 
5018
+  int rc;
 
5019
+
 
5020
+  counters.c1 = 0;
 
5021
+  if ((rc = __builtin_tbegin_retry ((void *)0, retries)) == 0)
 
5022
+    {
 
5023
+      __builtin_non_tx_store ((uint64_t *)&counters.c1, counters.c1 + 1);
 
5024
+      __builtin_tabort (abort_code);
 
5025
+      return 2;
 
5026
+    }
 
5027
+  else
 
5028
+    {
 
5029
+      if ((abort_code & 1) == 0)
 
5030
+       {
 
5031
+         if (rc != 2)
 
5032
+           {
 
5033
+             return 100 * rc + 2003;
 
5034
+           }
 
5035
+         else if (counters.c1 != (uint64_t)retries + 1)
 
5036
+           {
 
5037
+             return 1000 * counters.c1 + 100 * retries + 4;
 
5038
+           }
 
5039
+       }
 
5040
+      else
 
5041
+       {
 
5042
+         if (rc != 3)
 
5043
+           {
 
5044
+             return 100 * rc + 3005;
 
5045
+           }
 
5046
+         else if (counters.c1 != 1)
 
5047
+           {
 
5048
+             return 1000 * counters.c1 + 100 * retries + 6;
 
5049
+           }
 
5050
+       }
 
5051
+    }
 
5052
+
 
5053
+  return 0;
 
5054
+}
 
5055
+
 
5056
+static int test_tbegin_retry_aborts (void)
 
5057
+{
 
5058
+  int rc;
 
5059
+  int retries;
 
5060
+
 
5061
+  for (retries = 1; retries <= 3; retries++)
 
5062
+    {
 
5063
+      rc = _test_tbegin_retry_aborts (retries, 256);
 
5064
+      if (rc != 0)
 
5065
+       {
 
5066
+         return 10000 + rc;
 
5067
+       }
 
5068
+    }
 
5069
+  for (retries = 1; retries <= 3; retries++)
 
5070
+    {
 
5071
+      rc = _test_tbegin_retry_aborts (retries, 257);
 
5072
+      if (rc != 0)
 
5073
+       {
 
5074
+         return 20000 + rc;
 
5075
+       }
 
5076
+    }
 
5077
+  if ((rc = __builtin_tbegin_retry ((void *)0, 5)) == 0)
 
5078
+    {
 
5079
+      global.float_3 = global.float_1 + global.float_2;
 
5080
+      rc = __builtin_tend ();
 
5081
+      if (rc != 0)
 
5082
+       {
 
5083
+         return 30000 + 100 * rc + 6;
 
5084
+       }
 
5085
+    }
 
5086
+  else
 
5087
+    {
 
5088
+      return 30000 + 100 * rc + 7;
 
5089
+    }
 
5090
+
 
5091
+  return 0;
 
5092
+}
 
5093
+
 
5094
+static int _test_tbegin_retry_nofloat_aborts (int retries, uint64_t abort_code)
 
5095
+{
 
5096
+  int rc;
 
5097
+
 
5098
+  counters.c1 = 0;
 
5099
+  if ((rc = __builtin_tbegin_retry_nofloat ((void *)0, retries)) == 0)
 
5100
+    {
 
5101
+      __builtin_non_tx_store ((uint64_t *)&counters.c1, counters.c1 + 1);
 
5102
+      __builtin_tabort (abort_code);
 
5103
+      return 2;
 
5104
+    }
 
5105
+  else
 
5106
+    {
 
5107
+      if ((abort_code & 1) == 0)
 
5108
+       {
 
5109
+         if (rc != 2)
 
5110
+           {
 
5111
+             return 100 * rc + 2003;
 
5112
+           }
 
5113
+         else if (counters.c1 != (uint64_t)retries + 1)
 
5114
+           {
 
5115
+             return 1000 * counters.c1 + 100 * retries + 4;
 
5116
+           }
 
5117
+       }
 
5118
+      else
 
5119
+       {
 
5120
+         if (rc != 3)
 
5121
+           {
 
5122
+             return 100 * rc + 3005;
 
5123
+           }
 
5124
+         else if (counters.c1 != 1)
 
5125
+           {
 
5126
+             return 1000 * counters.c1 + 100 * retries + 6;
 
5127
+           }
 
5128
+       }
 
5129
+    }
 
5130
+
 
5131
+  return 0;
 
5132
+}
 
5133
+
 
5134
+static int test_tbegin_retry_nofloat_aborts (void)
 
5135
+{
 
5136
+  int rc;
 
5137
+  int retries;
 
5138
+
 
5139
+  for (retries = 1; retries <= 3; retries++)
 
5140
+    {
 
5141
+      rc = _test_tbegin_retry_nofloat_aborts (retries, 256);
 
5142
+      if (rc != 0)
 
5143
+       {
 
5144
+         return 10 * retries + rc;
 
5145
+       }
 
5146
+    }
 
5147
+  for (retries = 1; retries <= 3; retries++)
 
5148
+    {
 
5149
+      rc = _test_tbegin_retry_nofloat_aborts (retries, 257);
 
5150
+      if (rc != 0)
 
5151
+       {
 
5152
+         return 10000 + 10 * retries + rc;
 
5153
+       }
 
5154
+    }
 
5155
+
 
5156
+  return 0;
 
5157
+}
 
5158
+
 
5159
+static int test_tbegin_tdb (void)
 
5160
+{
 
5161
+  int rc;
 
5162
+
 
5163
+  local_tdb.format = 0;
 
5164
+  if ((rc = __builtin_tbegin (&local_tdb)) == 0)
 
5165
+    {
 
5166
+      rc = __builtin_tend ();
 
5167
+      if (rc != 0)
 
5168
+       {
 
5169
+         return 100 * rc + 1;
 
5170
+       }
 
5171
+      if (local_tdb.format != 0)
 
5172
+       {
 
5173
+         dump_tdb (&local_tdb);
 
5174
+         return 100 * local_tdb.format + 2;
 
5175
+       }
 
5176
+    }
 
5177
+  else
 
5178
+    {
 
5179
+      return 100 * rc + 3;
 
5180
+    }
 
5181
+  local_tdb.format = 0;
 
5182
+  if ((rc = __builtin_tbegin (&local_tdb)) == 0)
 
5183
+    {
 
5184
+      __builtin_tabort (257);
 
5185
+      return 4;
 
5186
+    }
 
5187
+  else
 
5188
+    {
 
5189
+      if (rc != 3)
 
5190
+       {
 
5191
+         return 100 * rc + 5;
 
5192
+       }
 
5193
+      if (local_tdb.format != 1)
 
5194
+       {
 
5195
+         dump_tdb (&local_tdb);
 
5196
+         return 100 * local_tdb.format + 6;
 
5197
+       }
 
5198
+    }
 
5199
+  local_tdb256.format = 0;
 
5200
+  if ((rc = __builtin_tbegin (&local_tdb256)) == 0)
 
5201
+    {
 
5202
+      rc = __builtin_tend ();
 
5203
+      if (rc != 0)
 
5204
+       {
 
5205
+         return 1100 * rc + 1;
 
5206
+       }
 
5207
+      if (local_tdb256.format != 0)
 
5208
+       {
 
5209
+         dump_tdb (&local_tdb256);
 
5210
+         return 1100 * local_tdb256.format + 2;
 
5211
+       }
 
5212
+    }
 
5213
+  else
 
5214
+    {
 
5215
+      return 1100 * rc + 3;
 
5216
+    }
 
5217
+  local_tdb256.format = 0;
 
5218
+  if ((rc = __builtin_tbegin (&local_tdb256)) == 0)
 
5219
+    {
 
5220
+      __builtin_tabort (257);
 
5221
+      return 2004;
 
5222
+    }
 
5223
+  else
 
5224
+    {
 
5225
+      if (rc != 3)
 
5226
+       {
 
5227
+         return 2100 * rc + 5;
 
5228
+       }
 
5229
+      if (local_tdb256.format != 1)
 
5230
+       {
 
5231
+         dump_tdb (&local_tdb256);
 
5232
+         return 2100 * local_tdb256.format + 6;
 
5233
+       }
 
5234
+    }
 
5235
+
 
5236
+  return 0;
 
5237
+}
 
5238
+
 
5239
+static int test_tbegin_nofloat_tdb (void)
 
5240
+{
 
5241
+  int rc;
 
5242
+
 
5243
+  local_tdb.format = 0;
 
5244
+  if ((rc = __builtin_tbegin_nofloat (&local_tdb)) == 0)
 
5245
+    {
 
5246
+      rc = __builtin_tend ();
 
5247
+      if (rc != 0)
 
5248
+       {
 
5249
+         return 100 * rc + 1;
 
5250
+       }
 
5251
+      if (local_tdb.format != 0)
 
5252
+       {
 
5253
+         dump_tdb (&local_tdb);
 
5254
+         return 100 * local_tdb.format + 2;
 
5255
+       }
 
5256
+    }
 
5257
+  else
 
5258
+    {
 
5259
+      return 3;
 
5260
+    }
 
5261
+  local_tdb.format = 0;
 
5262
+  if ((rc = __builtin_tbegin_nofloat (&local_tdb)) == 0)
 
5263
+    {
 
5264
+      __builtin_tabort (257);
 
5265
+      return 4;
 
5266
+    }
 
5267
+  else
 
5268
+    {
 
5269
+      if (rc != 3)
 
5270
+       {
 
5271
+         return 100 * rc + 5;
 
5272
+       }
 
5273
+      if (local_tdb.format != 1)
 
5274
+       {
 
5275
+         dump_tdb (&local_tdb);
 
5276
+         return 100 * local_tdb.format + 6;
 
5277
+       }
 
5278
+    }
 
5279
+  local_tdb256.format = 0;
 
5280
+  if ((rc = __builtin_tbegin_nofloat (&local_tdb256)) == 0)
 
5281
+    {
 
5282
+      rc = __builtin_tend ();
 
5283
+      if (rc != 0)
 
5284
+       {
 
5285
+         return 1100 * rc + 1;
 
5286
+       }
 
5287
+      if (local_tdb256.format != 0)
 
5288
+       {
 
5289
+         dump_tdb (&local_tdb256);
 
5290
+         return 1100 * local_tdb256.format + 2;
 
5291
+       }
 
5292
+    }
 
5293
+  else
 
5294
+    {
 
5295
+      return 1003;
 
5296
+    }
 
5297
+  local_tdb256.format = 0;
 
5298
+  if ((rc = __builtin_tbegin_nofloat (&local_tdb256)) == 0)
 
5299
+    {
 
5300
+      __builtin_tabort (257);
 
5301
+      return 2004;
 
5302
+    }
 
5303
+  else
 
5304
+    {
 
5305
+      if (rc != 3)
 
5306
+       {
 
5307
+         return 2100 * rc + 5;
 
5308
+       }
 
5309
+      if (local_tdb256.format != 1)
 
5310
+       {
 
5311
+         dump_tdb (&local_tdb256);
 
5312
+         return 2100 * local_tdb256.format + 6;
 
5313
+       }
 
5314
+    }
 
5315
+
 
5316
+  return 0;
 
5317
+}
 
5318
+
 
5319
+static int test_tbegin_retry_tdb (void)
 
5320
+{
 
5321
+  int rc;
 
5322
+
 
5323
+  local_tdb256.format = 0;
 
5324
+  if ((rc = __builtin_tbegin_retry (&local_tdb256, 2)) == 0)
 
5325
+    {
 
5326
+      rc = __builtin_tend ();
 
5327
+      if (rc != 0)
 
5328
+       {
 
5329
+         return 1100 * rc + 1;
 
5330
+       }
 
5331
+      if (local_tdb256.format != 0)
 
5332
+       {
 
5333
+         dump_tdb (&local_tdb256);
 
5334
+         return 1100 * local_tdb256.format + 2;
 
5335
+       }
 
5336
+    }
 
5337
+  else
 
5338
+    {
 
5339
+      return 1003;
 
5340
+    }
 
5341
+  local_tdb256.format = 0;
 
5342
+  if ((rc = __builtin_tbegin_retry (&local_tdb256, 2)) == 0)
 
5343
+    {
 
5344
+      __builtin_tabort (257);
 
5345
+      return 2004;
 
5346
+    }
 
5347
+  else
 
5348
+    {
 
5349
+      if (rc != 3)
 
5350
+       {
 
5351
+         return 2100 * rc + 5;
 
5352
+       }
 
5353
+      if (local_tdb256.format != 1)
 
5354
+       {
 
5355
+         dump_tdb (&local_tdb256);
 
5356
+         return 2100 * local_tdb256.format + 6;
 
5357
+       }
 
5358
+    }
 
5359
+
 
5360
+  return 0;
 
5361
+}
 
5362
+
 
5363
+static int test_tbegin_retry_nofloat_tdb (void)
 
5364
+{
 
5365
+  int rc;
 
5366
+
 
5367
+  local_tdb.format = 0;
 
5368
+  if ((rc = __builtin_tbegin_retry_nofloat (&local_tdb, 2)) == 0)
 
5369
+    {
 
5370
+      rc = __builtin_tend ();
 
5371
+      if (rc != 0)
 
5372
+       {
 
5373
+         return 100 * rc + 1;
 
5374
+       }
 
5375
+      if (local_tdb.format != 0)
 
5376
+       {
 
5377
+         dump_tdb (&local_tdb);
 
5378
+         return 100 * local_tdb.format + 2;
 
5379
+       }
 
5380
+    }
 
5381
+  else
 
5382
+    {
 
5383
+      return 100 * rc + 3;
 
5384
+    }
 
5385
+  local_tdb.format = 0;
 
5386
+  if ((rc = __builtin_tbegin_retry_nofloat (&local_tdb, 2)) == 0)
 
5387
+    {
 
5388
+      __builtin_tabort (257);
 
5389
+      return 4;
 
5390
+    }
 
5391
+  else
 
5392
+    {
 
5393
+      if (rc != 3)
 
5394
+       {
 
5395
+         return 100 * rc + 5;
 
5396
+       }
 
5397
+      if (local_tdb.format != 1)
 
5398
+       {
 
5399
+         dump_tdb (&local_tdb);
 
5400
+         return 100 * local_tdb.format + 6;
 
5401
+       }
 
5402
+    }
 
5403
+  local_tdb256.format = 0;
 
5404
+  if ((rc = __builtin_tbegin_retry_nofloat (&local_tdb256, 2)) == 0)
 
5405
+    {
 
5406
+      rc = __builtin_tend ();
 
5407
+      if (rc != 0)
 
5408
+       {
 
5409
+         return 1100 * rc + 1;
 
5410
+       }
 
5411
+      if (local_tdb256.format != 0)
 
5412
+       {
 
5413
+         dump_tdb (&local_tdb256);
 
5414
+         return 1100 * local_tdb256.format + 2;
 
5415
+       }
 
5416
+    }
 
5417
+  else
 
5418
+    {
 
5419
+      return 1100 * rc + 3;
 
5420
+    }
 
5421
+  local_tdb256.format = 0;
 
5422
+  if ((rc = __builtin_tbegin_retry_nofloat (&local_tdb256, 2)) == 0)
 
5423
+    {
 
5424
+      __builtin_tabort (257);
 
5425
+      return 2004;
 
5426
+    }
 
5427
+  else
 
5428
+    {
 
5429
+      if (rc != 3)
 
5430
+       {
 
5431
+         return 2100 * rc + 5;
 
5432
+       }
 
5433
+      if (local_tdb256.format != 1)
 
5434
+       {
 
5435
+         dump_tdb (&local_tdb256);
 
5436
+         return 2100 * local_tdb256.format + 6;
 
5437
+       }
 
5438
+    }
 
5439
+
 
5440
+  return 0;
 
5441
+}
 
5442
+
 
5443
+static int test_etnd (void)
 
5444
+{
 
5445
+  int rc;
 
5446
+
 
5447
+  counters.c1 = 0;
 
5448
+  counters.c2 = 0;
 
5449
+  counters.c3 = 0;
 
5450
+  if ((rc = __builtin_tbegin ((void *)0)) == 0)
 
5451
+    {
 
5452
+      counters.c1 = __builtin_tx_nesting_depth ();
 
5453
+      if (__builtin_tbegin ((void *)0) == 0)
 
5454
+       {
 
5455
+         counters.c2 = __builtin_tx_nesting_depth ();
 
5456
+         if (__builtin_tbegin ((void *)0) == 0)
 
5457
+           {
 
5458
+             counters.c3 = __builtin_tx_nesting_depth ();
 
5459
+             __builtin_tend ();
 
5460
+           }
 
5461
+         __builtin_tend ();
 
5462
+       }
 
5463
+      __builtin_tend ();
 
5464
+    }
 
5465
+  else
 
5466
+    {
 
5467
+      return 100 * rc + 1;
 
5468
+    }
 
5469
+  if (counters.c1 != 1)
 
5470
+    {
 
5471
+      return 100 * counters.c1 + 2;
 
5472
+    }
 
5473
+  if (counters.c2 != 2)
 
5474
+    {
 
5475
+      return 100 * counters.c2 + 3;
 
5476
+    }
 
5477
+  if (counters.c3 != 3)
 
5478
+    {
 
5479
+      return 100 * counters.c3 + 4;
 
5480
+    }
 
5481
+
 
5482
+  return 0;
 
5483
+}
 
5484
+
 
5485
+static int test_tbeginc (void)
 
5486
+{
 
5487
+  int rc;
 
5488
+
 
5489
+  counters.c1 = 0;
 
5490
+  __builtin_tbeginc ();
 
5491
+  counters.c1 = 1;
 
5492
+  rc = __builtin_tend ();
 
5493
+  if (rc != 0)
 
5494
+    {
 
5495
+      return 10000 * rc + 1;
 
5496
+    }
 
5497
+  if (counters.c1 != 1)
 
5498
+    {
 
5499
+      return 100000 * counters.c1 + 3;
 
5500
+    }
 
5501
+
 
5502
+  return 0;
 
5503
+}
 
5504
+
 
5505
+/* ---------------------------- local testing framework functions ---------- */
 
5506
+
 
5507
+static int run_one_test (const test_table_entry_t *test_entry)
 
5508
+{
 
5509
+  int do_print_passes;
 
5510
+  int succeeded;
 
5511
+  int rc;
 
5512
+  int i;
 
5513
+
 
5514
+  /* Warmup run to get all necessary data and instruction pages into the page
 
5515
+   * tables.  */
 
5516
+  {
 
5517
+    int run;
 
5518
+
 
5519
+    do_dump_tdb = 0;
 
5520
+    for (run = 0; run < NUM_WARMUP_RUNS; run++)
 
5521
+      {
 
5522
+       test_entry->test_func ();
 
5523
+      }
 
5524
+    do_dump_tdb = 1;
 
5525
+  }
 
5526
+  do_print_passes = (
 
5527
+                    test_entry->required_quorum != 1 ||
 
5528
+                    test_entry->max_repetitions != 1);
 
5529
+  printf ("RRR RUN  %s\n", test_entry->name);
 
5530
+  if (do_print_passes == 1)
 
5531
+    {
 
5532
+      printf (
 
5533
+            "         (requires %d successful out of %d runs)\n",
 
5534
+            test_entry->required_quorum,
 
5535
+            test_entry->max_repetitions);
 
5536
+    }
 
5537
+  succeeded = 0;
 
5538
+  rc = 0;
 
5539
+  for (rc = 0, i = 0; i < test_entry->max_repetitions; i++)
 
5540
+    {
 
5541
+      if (do_print_passes == 1)
 
5542
+       {
 
5543
+         if (i == 0)
 
5544
+           {
 
5545
+             printf ("        ");
 
5546
+           }
 
5547
+         else
 
5548
+           {
 
5549
+             printf (",");
 
5550
+           }
 
5551
+       }
 
5552
+      rc = test_entry->test_func ();
 
5553
+      if (rc == 0)
 
5554
+       {
 
5555
+         if (do_print_passes == 1)
 
5556
+           {
 
5557
+             printf (" success");
 
5558
+           }
 
5559
+         succeeded++;
 
5560
+         if (succeeded >= test_entry->required_quorum)
 
5561
+           {
 
5562
+             break;
 
5563
+           }
 
5564
+       }
 
5565
+      else
 
5566
+       {
 
5567
+         printf (" failed (rc = %d)", rc);
 
5568
+       }
 
5569
+    }
 
5570
+  if (do_print_passes == 1 || rc != 0)
 
5571
+    {
 
5572
+      printf ("\n");
 
5573
+    }
 
5574
+  if (succeeded >= test_entry->required_quorum)
 
5575
+    {
 
5576
+      printf ("+++ OK   %s\n", test_entry->name);
 
5577
+
 
5578
+      return 0;
 
5579
+    }
 
5580
+  else
 
5581
+    {
 
5582
+      printf ("--- FAIL %s\n", test_entry->name);
 
5583
+
 
5584
+      return (rc != 0) ? rc : -1;
 
5585
+    }
 
5586
+}
 
5587
+
 
5588
+static int run_all_tests (const test_table_entry_t *test_table)
 
5589
+{
 
5590
+  const test_table_entry_t *test;
 
5591
+  int rc;
 
5592
+
 
5593
+  for (
 
5594
+       rc = 0, test = &test_table[0];
 
5595
+       test->test_func != NULL && rc == 0; test++)
 
5596
+    {
 
5597
+      rc = run_one_test (test);
 
5598
+    }
 
5599
+
 
5600
+  return rc;
 
5601
+}
 
5602
+
 
5603
+/* ---------------------------- interface functions ------------------------ */
 
5604
+
 
5605
+int main (void)
 
5606
+{
 
5607
+  const test_table_entry_t test_table[] = {
 
5608
+    TEST_NO_REP (test_constants),
 
5609
+    TEST_DF_REP (test_tbegin_ntstg_tend),
 
5610
+    TEST_DF_REP (test_tbegin_ntstg_tabort),
 
5611
+    TEST_DF_REP (test_tbegin_nofloat),
 
5612
+    TEST_NO_REP (test_tbegin_retry),
 
5613
+    TEST_NO_REP (test_tbegin_retry_nofloat),
 
5614
+    TEST_DF_REP (test_tbegin_aborts),
 
5615
+    TEST_DF_REP (test_tbegin_indirect_aborts),
 
5616
+    TEST_DF_REP (test_tbegin_nofloat_aborts),
 
5617
+    TEST_DF_REP (test_tbegin_nofloat_indirect_aborts),
 
5618
+    TEST_NO_REP (test_tbegin_retry_aborts),
 
5619
+    TEST_NO_REP (test_tbegin_retry_nofloat_aborts),
 
5620
+    TEST_DF_REP (test_tbegin_tdb),
 
5621
+    TEST_DF_REP (test_tbegin_nofloat_tdb),
 
5622
+    TEST_NO_REP (test_tbegin_retry_tdb),
 
5623
+    TEST_NO_REP (test_tbegin_retry_nofloat_tdb),
 
5624
+    TEST_DF_REP (test_etnd),
 
5625
+    TEST_DF_REP (test_tbeginc),
 
5626
+    { (void *)0, 0, 0 }
 
5627
+  };
 
5628
+
 
5629
+  {
 
5630
+    int rc;
 
5631
+
 
5632
+    rc = run_all_tests (test_table);
 
5633
+
 
5634
+    return rc;
 
5635
+  }
 
5636
+}
 
5637
Index: gcc/testsuite/gcc.target/s390/htm-builtins-2.c
 
5638
===================================================================
 
5639
--- a/src/gcc/testsuite/gcc.target/s390/htm-builtins-2.c        (.../tags/gcc_4_8_2_release)
 
5640
+++ b/src/gcc/testsuite/gcc.target/s390/htm-builtins-2.c        (.../branches/gcc-4_8-branch)
 
5641
@@ -0,0 +1,682 @@
 
5642
+/* Functional tests of the htm __TM_... macros.  */
 
5643
+
 
5644
+/* { dg-do run } */
 
5645
+/* { dg-require-effective-target htm } */
 
5646
+/* { dg-options "-O3 -march=zEC12 -mzarch" } */
 
5647
+
 
5648
+/* ---------------------------- included header files ---------------------- */
 
5649
+
 
5650
+#include <stdio.h>
 
5651
+#include <string.h>
 
5652
+#include <inttypes.h>
 
5653
+#include <htmxlintrin.h>
 
5654
+
 
5655
+/* ---------------------------- local definitions -------------------------- */
 
5656
+
 
5657
+#define DEFAULT_MAX_REPETITIONS 5
 
5658
+#define DEFAULT_REQUIRED_QUORUM ((DEFAULT_MAX_REPETITIONS) - 1)
 
5659
+#define DEFAULT_ABORT_ADDRESS (0x12345678u)
 
5660
+
 
5661
+/* ---------------------------- local macros ------------------------------- */
 
5662
+
 
5663
+#define TEST_DF_REP(name) \
 
5664
+  { #name, name, DEFAULT_MAX_REPETITIONS, DEFAULT_REQUIRED_QUORUM }
 
5665
+#define TEST_NO_REP(name) { #name, name, 1, 1 }
 
5666
+
 
5667
+/* ---------------------------- local types -------------------------------- */
 
5668
+
 
5669
+typedef int (*test_func_t)(void);
 
5670
+
 
5671
+typedef struct
 
5672
+{
 
5673
+  const char *name;
 
5674
+  test_func_t test_func;
 
5675
+  int max_repetitions;
 
5676
+  int required_quorum;
 
5677
+} test_table_entry_t;
 
5678
+
 
5679
+typedef enum
 
5680
+{
 
5681
+  ABORT_T_SYSTEM = 0,
 
5682
+  ABORT_T_USER = 1,
 
5683
+} abort_user_t;
 
5684
+
 
5685
+typedef enum
 
5686
+{
 
5687
+  ABORT_T_NONE = 0,
 
5688
+  ABORT_T_ILLEGAL,
 
5689
+  ABORT_T_FOOTPRINT_EXCEEDED,
 
5690
+  ABORT_T_NESTED_TOO_DEEP,
 
5691
+  ABORT_T_CONFLICT,
 
5692
+
 
5693
+  ABORT_T_INVALID_ABORT_CODE
 
5694
+} abort_t;
 
5695
+
 
5696
+/* ---------------------------- local variables ---------------------------- */
 
5697
+
 
5698
+__attribute__ ((aligned(256))) static struct __htm_tdb local_tdb256;
 
5699
+static struct __htm_tdb local_tdb;
 
5700
+
 
5701
+static abort_t const abort_classes[] =
 
5702
+{
 
5703
+  ABORT_T_INVALID_ABORT_CODE,
 
5704
+  ABORT_T_NONE,
 
5705
+  ABORT_T_NONE,
 
5706
+  ABORT_T_NONE,
 
5707
+
 
5708
+  ABORT_T_ILLEGAL,
 
5709
+  ABORT_T_NONE,
 
5710
+  ABORT_T_NONE,
 
5711
+  ABORT_T_FOOTPRINT_EXCEEDED,
 
5712
+
 
5713
+  ABORT_T_FOOTPRINT_EXCEEDED,
 
5714
+  ABORT_T_CONFLICT,
 
5715
+  ABORT_T_CONFLICT,
 
5716
+  ABORT_T_ILLEGAL,
 
5717
+
 
5718
+  ABORT_T_NONE,
 
5719
+  ABORT_T_NESTED_TOO_DEEP,
 
5720
+  ABORT_T_NONE,
 
5721
+  ABORT_T_NONE,
 
5722
+
 
5723
+  ABORT_T_NONE
 
5724
+};
 
5725
+
 
5726
+static size_t num_abort_classes = sizeof(abort_classes) / sizeof(abort_t);
 
5727
+
 
5728
+/* ---------------------------- exported variables (globals) --------------- */
 
5729
+
 
5730
+int global_int = 0;
 
5731
+uint64_t global_u64 = 0;
 
5732
+float global_float_1 = 1.0;
 
5733
+float global_float_2 = 2.5;
 
5734
+float global_float_3 = 0.0;
 
5735
+__attribute__ ((aligned(256))) struct
 
5736
+{
 
5737
+  volatile uint64_t c1;
 
5738
+  volatile uint64_t c2;
 
5739
+  volatile uint64_t c3;
 
5740
+} counters = { 0, 0, 0 };
 
5741
+
 
5742
+/* ---------------------------- local helper functions --------------------- */
 
5743
+
 
5744
+static void dump_tdb(struct __htm_tdb *tdb)
 
5745
+{
 
5746
+  unsigned char *p;
 
5747
+  int i;
 
5748
+  int j;
 
5749
+
 
5750
+  p = (unsigned char *)tdb;
 
5751
+  for (i = 0; i < 16; i++)
 
5752
+    {
 
5753
+      fprintf(stderr, "0x%02x  ", i * 16);
 
5754
+      for (j = 0; j < 16; j++)
 
5755
+       {
 
5756
+         fprintf(stderr, "%02x", (int)p[i * 16 + j]);
 
5757
+         if (j < 15)
 
5758
+           {
 
5759
+             fprintf(stderr, " ");
 
5760
+           }
 
5761
+         if (j == 7)
 
5762
+           {
 
5763
+             fprintf(stderr, " ");
 
5764
+           }
 
5765
+       }
 
5766
+      fprintf(stderr, "\n");
 
5767
+    }
 
5768
+
 
5769
+  return;
 
5770
+}
 
5771
+
 
5772
+static void make_fake_tdb(struct __htm_tdb *tdb)
 
5773
+{
 
5774
+  memset(tdb, 0, sizeof(*tdb));
 
5775
+  tdb->format = 1;
 
5776
+  tdb->nesting_depth = 1;
 
5777
+  tdb->atia = DEFAULT_ABORT_ADDRESS;
 
5778
+  tdb->abort_code = 11;
 
5779
+
 
5780
+  return;
 
5781
+}
 
5782
+
 
5783
+static int check_abort_code_in_tdb(struct __htm_tdb *tdb, uint64_t abort_code)
 
5784
+{
 
5785
+  long expect_rc;
 
5786
+  long rc;
 
5787
+
 
5788
+  if (abort_code != 0)
 
5789
+    {
 
5790
+      long addr;
 
5791
+
 
5792
+      addr = __TM_failure_address(&local_tdb);
 
5793
+      if (addr != DEFAULT_ABORT_ADDRESS)
 
5794
+       {
 
5795
+         return 11;
 
5796
+       }
 
5797
+    }
 
5798
+  {
 
5799
+    long long tdb_abort_code;
 
5800
+
 
5801
+    tdb_abort_code = __TM_failure_code(tdb);
 
5802
+    if ((uint64_t)tdb_abort_code != abort_code)
 
5803
+      {
 
5804
+       fprintf(
 
5805
+               stderr, "tm_ac %" PRIu64 ", ac %" PRIu64
 
5806
+               ", tdb_ac %" PRIu64 "\n",
 
5807
+               (uint64_t)tdb_abort_code, abort_code,
 
5808
+               (uint64_t)tdb->abort_code);
 
5809
+       return 10;
 
5810
+      }
 
5811
+  }
 
5812
+  expect_rc = (abort_code >= 256) ? 1 : 0;
 
5813
+  rc = __TM_is_user_abort(tdb);
 
5814
+  if (rc != expect_rc)
 
5815
+    {
 
5816
+      fprintf(stderr, "rc %ld, expect_rc %ld\n", rc, expect_rc);
 
5817
+      return 1;
 
5818
+    }
 
5819
+  {
 
5820
+    unsigned char code;
 
5821
+
 
5822
+    code = 0xffu;
 
5823
+    rc = __TM_is_named_user_abort(tdb, &code);
 
5824
+    if (rc != expect_rc)
 
5825
+      {
 
5826
+       fprintf(
 
5827
+               stderr, "rc %ld, expect_rc %ld\n", rc,
 
5828
+               expect_rc);
 
5829
+       return 2;
 
5830
+      }
 
5831
+    if (expect_rc == 1 && code != abort_code - 256)
 
5832
+      {
 
5833
+       return 3;
 
5834
+      }
 
5835
+  }
 
5836
+  if (abort_code > (uint64_t)num_abort_classes)
 
5837
+    {
 
5838
+      abort_code = (uint64_t)num_abort_classes;
 
5839
+    }
 
5840
+  expect_rc = (abort_classes[abort_code] == ABORT_T_ILLEGAL) ? 1 : 0;
 
5841
+  rc = __TM_is_illegal(tdb);
 
5842
+  if (rc != expect_rc)
 
5843
+    {
 
5844
+      dump_tdb(tdb);
 
5845
+      fprintf(stderr, "rc %ld, expect_rc %ld\n", rc, expect_rc);
 
5846
+      return 4;
 
5847
+    }
 
5848
+  expect_rc =
 
5849
+    (abort_classes[abort_code] == ABORT_T_FOOTPRINT_EXCEEDED) ?
 
5850
+    1 : 0;
 
5851
+  rc = __TM_is_footprint_exceeded(tdb);
 
5852
+  if (rc != expect_rc)
 
5853
+    {
 
5854
+      dump_tdb(tdb);
 
5855
+      fprintf(stderr, "rc %ld, expect_rc %ld\n", rc, expect_rc);
 
5856
+      return 5;
 
5857
+    }
 
5858
+  expect_rc =
 
5859
+    (abort_classes[abort_code] == ABORT_T_NESTED_TOO_DEEP) ? 1 : 0;
 
5860
+  rc = __TM_is_nested_too_deep(tdb);
 
5861
+  if (rc != expect_rc)
 
5862
+    {
 
5863
+      dump_tdb(tdb);
 
5864
+      fprintf(stderr, "rc %ld, expect_rc %ld\n", rc, expect_rc);
 
5865
+      return 6;
 
5866
+    }
 
5867
+  expect_rc = (abort_classes[abort_code] == ABORT_T_CONFLICT) ? 1 : 0;
 
5868
+  rc = __TM_is_conflict(tdb);
 
5869
+  if (rc != expect_rc)
 
5870
+    {
 
5871
+      dump_tdb(tdb);
 
5872
+      fprintf(stderr, "rc %ld, expect_rc %ld\n", rc, expect_rc);
 
5873
+      return 7;
 
5874
+    }
 
5875
+
 
5876
+  return 0;
 
5877
+}
 
5878
+
 
5879
+/* ---------------------------- local test functions ----------------------- */
 
5880
+
 
5881
+/* Not a test; make sure that the involved global cachelines are reserved for
 
5882
+ * writing.  */
 
5883
+static int init_cache(void)
 
5884
+{
 
5885
+  make_fake_tdb(&local_tdb);
 
5886
+  make_fake_tdb(&local_tdb256);
 
5887
+  global_int = 0;
 
5888
+  global_u64 = 0;
 
5889
+  global_float_1 = 1.0;
 
5890
+  global_float_2 = 2.5;
 
5891
+  global_float_3 = 0.0;
 
5892
+  counters.c1 = 0;
 
5893
+  counters.c2 = 0;
 
5894
+  counters.c3 = 0;
 
5895
+
 
5896
+  return 0;
 
5897
+}
 
5898
+
 
5899
+static int test_abort_classification(void)
 
5900
+{
 
5901
+  int i;
 
5902
+
 
5903
+  make_fake_tdb(&local_tdb);
 
5904
+  for (i = 0; i <= 256; i++)
 
5905
+    {
 
5906
+      int rc;
 
5907
+
 
5908
+      local_tdb.abort_code = (uint64_t)i;
 
5909
+      rc = check_abort_code_in_tdb(&local_tdb, (uint64_t)i);
 
5910
+      if (rc != 0)
 
5911
+       {
 
5912
+         return 100 * i + rc;
 
5913
+       }
 
5914
+    }
 
5915
+
 
5916
+  return 0;
 
5917
+}
 
5918
+
 
5919
+static int test_cc_classification(void)
 
5920
+{
 
5921
+  long rc;
 
5922
+
 
5923
+  rc = __TM_is_failure_persistent(0);
 
5924
+  if (rc != 0)
 
5925
+    {
 
5926
+      return 1;
 
5927
+    }
 
5928
+  rc = __TM_is_failure_persistent(1);
 
5929
+  if (rc != 0)
 
5930
+    {
 
5931
+      return 2;
 
5932
+    }
 
5933
+  rc = __TM_is_failure_persistent(2);
 
5934
+  if (rc != 0)
 
5935
+    {
 
5936
+      return 3;
 
5937
+    }
 
5938
+  rc = __TM_is_failure_persistent(3);
 
5939
+  if (rc != 1)
 
5940
+    {
 
5941
+      return 4;
 
5942
+    }
 
5943
+
 
5944
+  return 0;
 
5945
+}
 
5946
+
 
5947
+static int test_tbegin_ntstg_tend(void)
 
5948
+{
 
5949
+  long rc;
 
5950
+
 
5951
+  counters.c1 = 0;
 
5952
+  counters.c2 = 0;
 
5953
+  if ((rc = __TM_simple_begin()) == 0)
 
5954
+    {
 
5955
+      __TM_non_transactional_store((uint64_t *)&counters.c1, 1);
 
5956
+      counters.c2 = 2;
 
5957
+      rc = __TM_end();
 
5958
+      if (rc != 0)
 
5959
+       {
 
5960
+         return 100 * rc + 5;
 
5961
+       }
 
5962
+      if (counters.c1 != 1)
 
5963
+       {
 
5964
+         return 100 * counters.c1 + 2;
 
5965
+       }
 
5966
+      if (counters.c2 != 2)
 
5967
+       {
 
5968
+         return 100 * counters.c2 + 3;
 
5969
+       }
 
5970
+    }
 
5971
+  else
 
5972
+    {
 
5973
+      return 100 * rc + 4;
 
5974
+    }
 
5975
+
 
5976
+  return 0;
 
5977
+}
 
5978
+
 
5979
+static int test_tbegin_ntstg_tabort(void)
 
5980
+{
 
5981
+  register float f;
 
5982
+
 
5983
+  counters.c1 = 0;
 
5984
+  counters.c2 = 0;
 
5985
+  f = 0;
 
5986
+  if (__TM_simple_begin() == 0)
 
5987
+    {
 
5988
+      __TM_non_transactional_store((uint64_t *)&counters.c1, 1);
 
5989
+      counters.c2 = 2;
 
5990
+      f = 1;
 
5991
+      __TM_named_abort(0);
 
5992
+      return 1;
 
5993
+    }
 
5994
+  if (counters.c1 != 1)
 
5995
+    {
 
5996
+      return 100 * counters.c1 + 2;
 
5997
+    }
 
5998
+  if (counters.c2 != 0)
 
5999
+    {
 
6000
+      return 100 * counters.c2 + 3;
 
6001
+    }
 
6002
+  if (f != 0)
 
6003
+    {
 
6004
+      return 100 * f + 4;
 
6005
+    }
 
6006
+
 
6007
+  return 0;
 
6008
+}
 
6009
+
 
6010
+static int test_tbegin_aborts(void)
 
6011
+{
 
6012
+  float f;
 
6013
+  long rc;
 
6014
+
 
6015
+  f = 77;
 
6016
+  if ((rc = __TM_simple_begin()) == 0)
 
6017
+    {
 
6018
+      f = 88;
 
6019
+      __TM_abort();
 
6020
+      return 2;
 
6021
+    }
 
6022
+  else if (rc != 2)
 
6023
+    {
 
6024
+      return 3;
 
6025
+    }
 
6026
+  if (f != 77)
 
6027
+    {
 
6028
+      return 4;
 
6029
+    }
 
6030
+  f = 66;
 
6031
+  if ((rc = __TM_simple_begin()) == 0)
 
6032
+    {
 
6033
+      f = 99;
 
6034
+      __TM_named_abort(3);
 
6035
+      return 5;
 
6036
+    }
 
6037
+  else if (rc != 3)
 
6038
+    {
 
6039
+      return 100 * rc + 6;
 
6040
+    }
 
6041
+  if (f != 66)
 
6042
+    {
 
6043
+      return 100 * f + 7;
 
6044
+    }
 
6045
+  if ((rc = __TM_simple_begin()) == 0)
 
6046
+    {
 
6047
+      global_float_3 = global_float_1 + global_float_2;
 
6048
+      rc = __TM_end();
 
6049
+      if (rc != 0)
 
6050
+       {
 
6051
+         return 100 * rc + 8;
 
6052
+       }
 
6053
+    }
 
6054
+  else
 
6055
+    {
 
6056
+      return 100 * rc + 9;
 
6057
+    }
 
6058
+  if (global_float_3 != global_float_1 + global_float_2)
 
6059
+    {
 
6060
+      return 100 * rc + 10;
 
6061
+    }
 
6062
+
 
6063
+  return 0;
 
6064
+}
 
6065
+
 
6066
+static int test_tbegin_tdb(void)
 
6067
+{
 
6068
+  long rc;
 
6069
+
 
6070
+  local_tdb.format = 0;
 
6071
+  if ((rc = __TM_begin(&local_tdb)) == 0)
 
6072
+    {
 
6073
+      rc = __TM_end();
 
6074
+      if (rc != 0)
 
6075
+       {
 
6076
+         return 100 * rc + 1;
 
6077
+       }
 
6078
+      if (local_tdb.format != 0)
 
6079
+       {
 
6080
+         dump_tdb(&local_tdb);
 
6081
+         return 100 * local_tdb.format + 2;
 
6082
+       }
 
6083
+    }
 
6084
+  else
 
6085
+    {
 
6086
+      return 100 * rc + 3;
 
6087
+    }
 
6088
+  local_tdb.format = 0;
 
6089
+  if ((rc = __TM_begin(&local_tdb)) == 0)
 
6090
+    {
 
6091
+      __TM_named_abort(1);
 
6092
+      return 4;
 
6093
+    }
 
6094
+  else
 
6095
+    {
 
6096
+      if (rc != 3)
 
6097
+       {
 
6098
+         return 100 * rc + 5;
 
6099
+       }
 
6100
+      if (local_tdb.format != 1)
 
6101
+       {
 
6102
+         dump_tdb(&local_tdb);
 
6103
+         return 100 * local_tdb.format + 6;
 
6104
+       }
 
6105
+    }
 
6106
+  local_tdb256.format = 0;
 
6107
+  if ((rc = __TM_begin(&local_tdb256)) == 0)
 
6108
+    {
 
6109
+      rc = __TM_end();
 
6110
+      if (rc != 0)
 
6111
+       {
 
6112
+         return 1100 * rc + 1;
 
6113
+       }
 
6114
+      if (local_tdb256.format != 0)
 
6115
+       {
 
6116
+         dump_tdb(&local_tdb256);
 
6117
+         return 1100 * local_tdb256.format + 2;
 
6118
+       }
 
6119
+    }
 
6120
+  else
 
6121
+    {
 
6122
+      return 1100 * rc + 3;
 
6123
+    }
 
6124
+#if 1 /*!!!does not work*/
 
6125
+  local_tdb256.format = 0;
 
6126
+  if ((rc = __TM_begin(&local_tdb256)) == 0)
 
6127
+    {
 
6128
+      __TM_named_abort(1);
 
6129
+      return 2004;
 
6130
+    }
 
6131
+  else
 
6132
+    {
 
6133
+      if (rc != 3)
 
6134
+       {
 
6135
+         return 2100 * rc + 5;
 
6136
+       }
 
6137
+      if (local_tdb256.format != 1)
 
6138
+       {
 
6139
+         dump_tdb(&local_tdb256);
 
6140
+         return 2100 * local_tdb256.format + 6;
 
6141
+       }
 
6142
+    }
 
6143
+#endif
 
6144
+
 
6145
+  return 0;
 
6146
+}
 
6147
+
 
6148
+static int test_etnd(void)
 
6149
+{
 
6150
+  long rc;
 
6151
+
 
6152
+  {
 
6153
+    long nd;
 
6154
+
 
6155
+    make_fake_tdb(&local_tdb);
 
6156
+    local_tdb.nesting_depth = 0;
 
6157
+    nd = __TM_nesting_depth(&local_tdb);
 
6158
+    if (nd != 0)
 
6159
+      {
 
6160
+       return 1;
 
6161
+      }
 
6162
+    local_tdb.nesting_depth = 7;
 
6163
+    nd = __TM_nesting_depth(&local_tdb);
 
6164
+    if (nd != 7)
 
6165
+      {
 
6166
+       return 7;
 
6167
+      }
 
6168
+    local_tdb.format = 0;
 
6169
+    nd = __TM_nesting_depth(&local_tdb);
 
6170
+    if (nd != 0)
 
6171
+      {
 
6172
+       return 2;
 
6173
+      }
 
6174
+  }
 
6175
+  counters.c1 = 0;
 
6176
+  counters.c1 = 0;
 
6177
+  counters.c2 = 0;
 
6178
+  counters.c3 = 0;
 
6179
+  if ((rc = __TM_simple_begin()) == 0)
 
6180
+    {
 
6181
+      counters.c1 = __TM_nesting_depth(0);
 
6182
+      if (__TM_simple_begin() == 0)
 
6183
+       {
 
6184
+         counters.c2 = __TM_nesting_depth(0);
 
6185
+         if (__TM_simple_begin() == 0)
 
6186
+           {
 
6187
+             counters.c3 = __TM_nesting_depth(0);
 
6188
+             __TM_end();
 
6189
+           }
 
6190
+         __TM_end();
 
6191
+       }
 
6192
+      __TM_end();
 
6193
+    }
 
6194
+  else
 
6195
+    {
 
6196
+      return 100 * rc + 1;
 
6197
+    }
 
6198
+  if (counters.c1 != 1)
 
6199
+    {
 
6200
+      return 100 * counters.c1 + 2;
 
6201
+    }
 
6202
+  if (counters.c2 != 2)
 
6203
+    {
 
6204
+      return 100 * counters.c2 + 3;
 
6205
+    }
 
6206
+  if (counters.c3 != 3)
 
6207
+    {
 
6208
+      return 100 * counters.c3 + 4;
 
6209
+    }
 
6210
+
 
6211
+  return 0;
 
6212
+}
 
6213
+
 
6214
+/* ---------------------------- local testing framework functions ---------- */
 
6215
+
 
6216
+static int run_one_test(const test_table_entry_t *test_entry)
 
6217
+{
 
6218
+  int do_print_passes;
 
6219
+  int succeeded;
 
6220
+  int rc;
 
6221
+  int i;
 
6222
+
 
6223
+  do_print_passes = (
 
6224
+                    test_entry->required_quorum != 1 ||
 
6225
+                    test_entry->max_repetitions != 1);
 
6226
+  printf("RRR RUN  %s\n", test_entry->name);
 
6227
+  if (do_print_passes == 1)
 
6228
+    {
 
6229
+      printf(
 
6230
+            "         (requires %d successful out of %d runs)\n",
 
6231
+            test_entry->required_quorum,
 
6232
+            test_entry->max_repetitions);
 
6233
+    }
 
6234
+  succeeded = 0;
 
6235
+  rc = 0;
 
6236
+  for (rc = 0, i = 0; i < test_entry->max_repetitions; i++)
 
6237
+    {
 
6238
+      if (do_print_passes == 1)
 
6239
+       {
 
6240
+         if (i == 0)
 
6241
+           {
 
6242
+             printf("        ");
 
6243
+           }
 
6244
+         else
 
6245
+           {
 
6246
+             printf(",");
 
6247
+           }
 
6248
+       }
 
6249
+      rc = test_entry->test_func();
 
6250
+      if (rc == 0)
 
6251
+       {
 
6252
+         if (do_print_passes == 1)
 
6253
+           {
 
6254
+             printf(" success");
 
6255
+           }
 
6256
+         succeeded++;
 
6257
+         if (succeeded >= test_entry->required_quorum)
 
6258
+           {
 
6259
+             break;
 
6260
+           }
 
6261
+       }
 
6262
+      else
 
6263
+       {
 
6264
+         printf(" failed (rc = %d)", rc);
 
6265
+       }
 
6266
+    }
 
6267
+  if (do_print_passes == 1 || rc != 0)
 
6268
+    {
 
6269
+      printf("\n");
 
6270
+    }
 
6271
+  if (succeeded >= test_entry->required_quorum)
 
6272
+    {
 
6273
+      printf("+++ OK   %s\n", test_entry->name);
 
6274
+
 
6275
+      return 0;
 
6276
+    }
 
6277
+  else
 
6278
+    {
 
6279
+      printf("--- FAIL %s\n", test_entry->name);
 
6280
+
 
6281
+      return (rc != 0) ? rc : -1;
 
6282
+    }
 
6283
+}
 
6284
+
 
6285
+static int run_all_tests(const test_table_entry_t *test_table)
 
6286
+{
 
6287
+  const test_table_entry_t *test;
 
6288
+  int rc;
 
6289
+
 
6290
+  for (
 
6291
+       rc = 0, test = &test_table[0];
 
6292
+       test->test_func != NULL && rc == 0; test++)
 
6293
+    {
 
6294
+      rc = run_one_test(test);
 
6295
+    }
 
6296
+
 
6297
+  return rc;
 
6298
+}
 
6299
+
 
6300
+/* ---------------------------- interface functions ------------------------ */
 
6301
+
 
6302
+int main(void)
 
6303
+{
 
6304
+  const test_table_entry_t test_table[] = {
 
6305
+    TEST_NO_REP(init_cache),
 
6306
+    TEST_NO_REP(test_abort_classification),
 
6307
+    TEST_NO_REP(test_cc_classification),
 
6308
+    TEST_DF_REP(test_tbegin_ntstg_tend),
 
6309
+    TEST_DF_REP(test_tbegin_ntstg_tabort),
 
6310
+    TEST_DF_REP(test_tbegin_aborts),
 
6311
+    TEST_DF_REP(test_tbegin_tdb),
 
6312
+    TEST_DF_REP(test_etnd),
 
6313
+    { (void *)0, 0, 0 }
 
6314
+  };
 
6315
+
 
6316
+  {
 
6317
+    int rc;
 
6318
+
 
6319
+    rc = run_all_tests(test_table);
 
6320
+
 
6321
+    return rc;
 
6322
+  }
 
6323
+}
 
6324
Index: gcc/testsuite/gcc.target/sh/pr54089-3.c
 
6325
===================================================================
 
6326
--- a/src/gcc/testsuite/gcc.target/sh/pr54089-3.c       (.../tags/gcc_4_8_2_release)
 
6327
+++ b/src/gcc/testsuite/gcc.target/sh/pr54089-3.c       (.../branches/gcc-4_8-branch)
 
6328
@@ -5,7 +5,7 @@
 
6329
 /* { dg-options "-O1" } */
 
6330
 /* { dg-skip-if "" { "sh*-*-*" } { "*" } { "-m1*" "-m2" "-m2e*" } } */
 
6331
 /* { dg-final { scan-assembler-not "and" } } */
 
6332
-/* { dg-final { scan-assembler-not "31" } } */
 
6333
+/* { dg-final { scan-assembler-not "#31" } } */
 
6334
 
 
6335
 int
 
6336
 test00 (unsigned int a, int* b, int c, int* d, unsigned int e)
 
6337
Index: gcc/testsuite/gfortran.dg/reshape_6.f90
 
6338
===================================================================
 
6339
--- a/src/gcc/testsuite/gfortran.dg/reshape_6.f90       (.../tags/gcc_4_8_2_release)
 
6340
+++ b/src/gcc/testsuite/gfortran.dg/reshape_6.f90       (.../branches/gcc-4_8-branch)
 
6341
@@ -0,0 +1,19 @@
 
6342
+! { dg-do compile }
 
6343
+! PR fortran/58989
 
6344
+!
 
6345
+program test
 
6346
+
 
6347
+  real(8), dimension(4,4) :: fluxes
 
6348
+  real(8), dimension(2,2,2,2) :: f
 
6349
+  integer, dimension(3) :: dmmy 
 
6350
+  integer, parameter :: indx(4)=(/2,2,2,2/)
 
6351
+
 
6352
+  fluxes = 1
 
6353
+
 
6354
+  dmmy = (/2,2,2/)
 
6355
+
 
6356
+  f = reshape(fluxes,(/dmmy,2/))  ! Caused an ICE
 
6357
+  f = reshape(fluxes,(/2,2,2,2/)) ! Works as expected
 
6358
+  f = reshape(fluxes,indx)        ! Works as expected
 
6359
+
 
6360
+end program test
 
6361
Index: gcc/testsuite/gfortran.dg/derived_external_function_1.f90
 
6362
===================================================================
 
6363
--- a/src/gcc/testsuite/gfortran.dg/derived_external_function_1.f90     (.../tags/gcc_4_8_2_release)
 
6364
+++ b/src/gcc/testsuite/gfortran.dg/derived_external_function_1.f90     (.../branches/gcc-4_8-branch)
 
6365
@@ -0,0 +1,27 @@
 
6366
+! { dg-do run }
 
6367
+!
 
6368
+! PR fortran/58771
 
6369
+!
 
6370
+! Contributed by Vittorio Secca  <zeccav@gmail.com>
 
6371
+!
 
6372
+! ICEd on the write statement with f() because the derived type backend
 
6373
+! declaration not built.
 
6374
+!
 
6375
+module m
 
6376
+  type t
 
6377
+    integer(4) g
 
6378
+  end type
 
6379
+end
 
6380
+
 
6381
+type(t) function f() result(ff)
 
6382
+  use m
 
6383
+  ff%g = 42
 
6384
+end
 
6385
+
 
6386
+  use m
 
6387
+  character (20) :: line1, line2
 
6388
+  type(t)  f
 
6389
+  write (line1, *) f()
 
6390
+  write (line2, *) 42_4
 
6391
+  if (line1 .ne. line2) call abort
 
6392
+end
 
6393
Index: gcc/testsuite/gfortran.dg/constructor_9.f90
 
6394
===================================================================
 
6395
--- a/src/gcc/testsuite/gfortran.dg/constructor_9.f90   (.../tags/gcc_4_8_2_release)
 
6396
+++ b/src/gcc/testsuite/gfortran.dg/constructor_9.f90   (.../branches/gcc-4_8-branch)
 
6397
@@ -0,0 +1,22 @@
 
6398
+! { dg-do compile }
 
6399
+! { dg-options "-Wall" }
 
6400
+!
 
6401
+! PR 58471: [4.8/4.9 Regression] ICE on invalid with missing type constructor and -Wall
 
6402
+!
 
6403
+! Contributed by Andrew Benson <abensonca@gmail.com>
 
6404
+
 
6405
+module cf
 
6406
+  implicit none
 
6407
+  type :: cfmde
 
6408
+  end type
 
6409
+  interface cfmde
 
6410
+     module procedure mdedc   ! { dg-error "is neither function nor subroutine" }
 
6411
+  end interface
 
6412
+contains
 
6413
+  subroutine cfi()
 
6414
+    type(cfmde), pointer :: cfd
 
6415
+    cfd=cfmde()                  ! { dg-error "Can't convert" }
 
6416
+  end subroutine
 
6417
+end module
 
6418
+
 
6419
+! { dg-final { cleanup-modules "cf" } }
 
6420
Index: gcc/testsuite/gfortran.dg/proc_ptr_43.f90
 
6421
===================================================================
 
6422
--- a/src/gcc/testsuite/gfortran.dg/proc_ptr_43.f90     (.../tags/gcc_4_8_2_release)
 
6423
+++ b/src/gcc/testsuite/gfortran.dg/proc_ptr_43.f90     (.../branches/gcc-4_8-branch)
 
6424
@@ -0,0 +1,19 @@
 
6425
+! { dg-do compile }
 
6426
+!
 
6427
+! PR 58099: [4.8/4.9 Regression] [F03] over-zealous procedure-pointer error checking
 
6428
+!
 
6429
+! Contributed by Daniel Price <daniel.price@monash.edu>
 
6430
+
 
6431
+  implicit none
 
6432
+  procedure(real), pointer :: wfunc
 
6433
+
 
6434
+  wfunc => w_cubic 
 
6435
 
6436
+contains
 
6437
+
 
6438
+  pure real function w_cubic(q2)
 
6439
+    real, intent(in) :: q2
 
6440
+    w_cubic = 0.
 
6441
+  end function
 
6442
+
 
6443
+end
 
6444
Index: gcc/testsuite/gfortran.dg/extends_15.f90
 
6445
===================================================================
 
6446
--- a/src/gcc/testsuite/gfortran.dg/extends_15.f90      (.../tags/gcc_4_8_2_release)
 
6447
+++ b/src/gcc/testsuite/gfortran.dg/extends_15.f90      (.../branches/gcc-4_8-branch)
 
6448
@@ -0,0 +1,16 @@
 
6449
+! { dg-do compile }
 
6450
+!
 
6451
+! PR 58355: [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
 
6452
+!
 
6453
+! Contributed by Andrew Benson <abensonca@gmail.com>
 
6454
+
 
6455
+module ct
 
6456
+  public :: t1
 
6457
+
 
6458
+  type, extends(t1) :: t2   ! { dg-error "has not been previously defined" }
 
6459
+
 
6460
+  type :: t1
 
6461
+  end type
 
6462
+end
 
6463
+
 
6464
+! { dg-final { cleanup-modules "ct" } }
 
6465
Index: gcc/testsuite/gcc.c-torture/execute/pr58984.c
 
6466
===================================================================
 
6467
--- a/src/gcc/testsuite/gcc.c-torture/execute/pr58984.c (.../tags/gcc_4_8_2_release)
 
6468
+++ b/src/gcc/testsuite/gcc.c-torture/execute/pr58984.c (.../branches/gcc-4_8-branch)
 
6469
@@ -0,0 +1,57 @@
 
6470
+/* PR tree-optimization/58984 */
 
6471
+
 
6472
+struct S { int f0 : 8; int : 6; int f1 : 5; };
 
6473
+struct T { char f0; int : 6; int f1 : 5; };
 
6474
+
 
6475
+int a, *c = &a, e, n, b, m;
 
6476
+
 
6477
+static int
 
6478
+foo (struct S p)
 
6479
+{
 
6480
+  const unsigned short *f[36];
 
6481
+  for (; e < 2; e++)
 
6482
+    {
 
6483
+      const unsigned short **i = &f[0];
 
6484
+      *c ^= 1;
 
6485
+      if (p.f1)
 
6486
+       {
 
6487
+         *i = 0;
 
6488
+         return b;
 
6489
+       }
 
6490
+    }
 
6491
+  return 0;
 
6492
+}
 
6493
+
 
6494
+static int
 
6495
+bar (struct T p)
 
6496
+{
 
6497
+  const unsigned short *f[36];
 
6498
+  for (; e < 2; e++)
 
6499
+    {
 
6500
+      const unsigned short **i = &f[0];
 
6501
+      *c ^= 1;
 
6502
+      if (p.f1)
 
6503
+       {
 
6504
+         *i = 0;
 
6505
+         return b;
 
6506
+       }
 
6507
+    }
 
6508
+  return 0;
 
6509
+}
 
6510
+
 
6511
+int
 
6512
+main ()
 
6513
+{
 
6514
+  struct S o = { 1, 1 };
 
6515
+  foo (o);
 
6516
+  m = n || o.f0;
 
6517
+  if (a != 1)
 
6518
+    __builtin_abort ();
 
6519
+  e = 0;
 
6520
+  struct T p = { 1, 1 };
 
6521
+  bar (p);
 
6522
+  m |= n || p.f0;
 
6523
+  if (a != 0)
 
6524
+    __builtin_abort ();
 
6525
+  return 0;
 
6526
+}
 
6527
Index: gcc/testsuite/gcc.c-torture/execute/pr59101.c
 
6528
===================================================================
 
6529
--- a/src/gcc/testsuite/gcc.c-torture/execute/pr59101.c (.../tags/gcc_4_8_2_release)
 
6530
+++ b/src/gcc/testsuite/gcc.c-torture/execute/pr59101.c (.../branches/gcc-4_8-branch)
 
6531
@@ -0,0 +1,15 @@
 
6532
+/* PR target/59101 */
 
6533
+
 
6534
+__attribute__((noinline, noclone)) int
 
6535
+foo (int a)
 
6536
+{
 
6537
+  return (~a & 4102790424LL) > 0 | 6;
 
6538
+}
 
6539
+
 
6540
+int
 
6541
+main ()
 
6542
+{
 
6543
+  if (foo (0) != 7)
 
6544
+    __builtin_abort ();
 
6545
+  return 0;
 
6546
+}
 
6547
Index: gcc/testsuite/gcc.c-torture/execute/pr58831.c
 
6548
===================================================================
 
6549
--- a/src/gcc/testsuite/gcc.c-torture/execute/pr58831.c (.../tags/gcc_4_8_2_release)
 
6550
+++ b/src/gcc/testsuite/gcc.c-torture/execute/pr58831.c (.../branches/gcc-4_8-branch)
 
6551
@@ -0,0 +1,40 @@
 
6552
+#include <assert.h>
 
6553
+
 
6554
+int a, *b, c, d, f, **i, p, q, *r;
 
6555
+short o, j;
 
6556
+
 
6557
+static int __attribute__((noinline, noclone))
 
6558
+fn1 (int *p1, int **p2)
 
6559
+{
 
6560
+  int **e = &b;
 
6561
+  for (; p; p++)
 
6562
+    *p1 = 1;
 
6563
+  *e = *p2 = &d;
 
6564
+
 
6565
+  assert (r);
 
6566
+
 
6567
+  return c;
 
6568
+}
 
6569
+
 
6570
+static int ** __attribute__((noinline, noclone))
 
6571
+fn2 (void)
 
6572
+{
 
6573
+  for (f = 0; f != 42; f++)
 
6574
+    {
 
6575
+      int *g[3] = {0, 0, 0};
 
6576
+      for (o = 0; o; o--)
 
6577
+        for (; a > 1;)
 
6578
+          {
 
6579
+            int **h[1] = { &g[2] };
 
6580
+          }
 
6581
+    }
 
6582
+  return &r;
 
6583
+}
 
6584
+
 
6585
+int
 
6586
+main (void)
 
6587
+{
 
6588
+  i = fn2 ();
 
6589
+  fn1 (b, i);
 
6590
+  return 0;
 
6591
+}
 
6592
Index: gcc/testsuite/gcc.c-torture/compile/pr58970-1.c
 
6593
===================================================================
 
6594
--- a/src/gcc/testsuite/gcc.c-torture/compile/pr58970-1.c       (.../tags/gcc_4_8_2_release)
 
6595
+++ b/src/gcc/testsuite/gcc.c-torture/compile/pr58970-1.c       (.../branches/gcc-4_8-branch)
 
6596
@@ -0,0 +1,11 @@
 
6597
+/* PR middle-end/58970 */
 
6598
+
 
6599
+struct T { int b : 1; };
 
6600
+struct S { struct T t[1]; };
 
6601
+
 
6602
+void
 
6603
+foo (int x, struct S *s)
 
6604
+{
 
6605
+  if (x == -1)
 
6606
+    s->t[x].b = 0;
 
6607
+}
 
6608
Index: gcc/testsuite/gcc.c-torture/compile/pr58997.c
 
6609
===================================================================
 
6610
--- a/src/gcc/testsuite/gcc.c-torture/compile/pr58997.c (.../tags/gcc_4_8_2_release)
 
6611
+++ b/src/gcc/testsuite/gcc.c-torture/compile/pr58997.c (.../branches/gcc-4_8-branch)
 
6612
@@ -0,0 +1,19 @@
 
6613
+/* PR rtl-optimization/58997 */
 
6614
+
 
6615
+int a, b, c, e;
 
6616
+short d;
 
6617
+char h;
 
6618
+
 
6619
+void
 
6620
+foo ()
 
6621
+{
 
6622
+  while (b)
 
6623
+    {
 
6624
+      d = a ? c : 1 % a;
 
6625
+      c = d;
 
6626
+      h = d;
 
6627
+      if (!h)
 
6628
+       while (e)
 
6629
+         ;
 
6630
+    }
 
6631
+}
 
6632
Index: gcc/testsuite/gcc.c-torture/compile/pr58970-2.c
 
6633
===================================================================
 
6634
--- a/src/gcc/testsuite/gcc.c-torture/compile/pr58970-2.c       (.../tags/gcc_4_8_2_release)
 
6635
+++ b/src/gcc/testsuite/gcc.c-torture/compile/pr58970-2.c       (.../branches/gcc-4_8-branch)
 
6636
@@ -0,0 +1,11 @@
 
6637
+/* PR middle-end/58970 */
 
6638
+
 
6639
+struct T { char a : 8; char b : 1; };
 
6640
+struct S { char x; struct T t[1]; };
 
6641
+
 
6642
+void
 
6643
+foo (int x, struct S *s)
 
6644
+{
 
6645
+  if (x == -1)
 
6646
+    s->t[x].b = 0;
 
6647
+}
 
6648
Index: gcc/testsuite/gcc.dg/pr57518.c
 
6649
===================================================================
 
6650
--- a/src/gcc/testsuite/gcc.dg/pr57518.c        (.../tags/gcc_4_8_2_release)
 
6651
+++ b/src/gcc/testsuite/gcc.dg/pr57518.c        (.../branches/gcc-4_8-branch)
 
6652
@@ -1,8 +1,8 @@
 
6653
-/* PR rtl-optimization/57130 */
 
6654
+/* PR rtl-optimization/57518 */
 
6655
 
 
6656
 /* { dg-do compile } */
 
6657
 /* { dg-options "-O2 -fdump-rtl-ira" } */
 
6658
-/* { dg-final { scan-rtl-dump-not "REG_EQUIV.*mem.*\"ip\"" "ira" } } */
 
6659
+/* { dg-final { scan-rtl-dump-not "REG_EQUIV\[^\n\]*mem\[^\n\]*\"ip\".*subreg" "ira" } } */
 
6660
 
 
6661
 char ip[10];
 
6662
 int total;
 
6663
Index: gcc/testsuite/gcc.dg/atomic-store-6.c
 
6664
===================================================================
 
6665
--- a/src/gcc/testsuite/gcc.dg/atomic-store-6.c (.../tags/gcc_4_8_2_release)
 
6666
+++ b/src/gcc/testsuite/gcc.dg/atomic-store-6.c (.../branches/gcc-4_8-branch)
 
6667
@@ -0,0 +1,13 @@
 
6668
+/* { dg-do run } */
 
6669
+/* { dg-require-effective-target sync_int_128_runtime } */
 
6670
+/* { dg-options "-mcx16" { target { i?86-*-* x86_64-*-* } } } */
 
6671
+
 
6672
+__int128_t i;
 
6673
+
 
6674
+int main()
 
6675
+{
 
6676
+  __atomic_store_16(&i, -1, 0);
 
6677
+  if (i != -1)
 
6678
+    __builtin_abort();
 
6679
+  return 0;
 
6680
+}
 
6681
Index: gcc/testsuite/gcc.dg/pr58805.c
 
6682
===================================================================
 
6683
--- a/src/gcc/testsuite/gcc.dg/pr58805.c        (.../tags/gcc_4_8_2_release)
 
6684
+++ b/src/gcc/testsuite/gcc.dg/pr58805.c        (.../branches/gcc-4_8-branch)
 
6685
@@ -0,0 +1,24 @@
 
6686
+/* { dg-do compile } */
 
6687
+/* { dg-options "-O2 -ftree-tail-merge -fdump-tree-pre" } */
 
6688
+
 
6689
+/* Type that matches the 'p' constraint.  */
 
6690
+#define TYPE void *
 
6691
+
 
6692
+static inline
 
6693
+void bar (TYPE *r)
 
6694
+{
 
6695
+  TYPE t;
 
6696
+  __asm__ ("" : "=&p" (t), "=p" (*r));
 
6697
+}
 
6698
+
 
6699
+void
 
6700
+foo (int n, TYPE *x, TYPE *y)
 
6701
+{
 
6702
+  if (n == 0)
 
6703
+    bar (x);
 
6704
+  else
 
6705
+    bar (y);
 
6706
+}
 
6707
+
 
6708
+/* { dg-final { scan-tree-dump-times "__asm__" 2 "pre"} } */
 
6709
+/* { dg-final { cleanup-tree-dump "pre" } } */
 
6710
Index: gcc/testsuite/gcc.dg/torture/pr59047.c
 
6711
===================================================================
 
6712
--- a/src/gcc/testsuite/gcc.dg/torture/pr59047.c        (.../tags/gcc_4_8_2_release)
 
6713
+++ b/src/gcc/testsuite/gcc.dg/torture/pr59047.c        (.../branches/gcc-4_8-branch)
 
6714
@@ -0,0 +1,39 @@
 
6715
+/* { dg-do run } */
 
6716
+
 
6717
+extern void abort (void);
 
6718
+
 
6719
+struct
 
6720
+{
 
6721
+  int f0;
 
6722
+  int f1:1;
 
6723
+  int f2:2;
 
6724
+} a = {0, 0, 1};
 
6725
+
 
6726
+int b, c, *d, e, f;
 
6727
+
 
6728
+int
 
6729
+fn1 ()
 
6730
+{
 
6731
+  for (; b < 1; ++b)
 
6732
+    {
 
6733
+      for (e = 0; e < 1; e = 1)
 
6734
+       {
 
6735
+         int **g = &d;
 
6736
+         *g = &c;
 
6737
+       } 
 
6738
+      *d = 0;
 
6739
+      f = a.f1;
 
6740
+      if (f)
 
6741
+       return 0;
 
6742
+    }
 
6743
+  return 0;
 
6744
+}
 
6745
+
 
6746
+int
 
6747
+main ()
 
6748
+{
 
6749
+  fn1 ();
 
6750
+  if (b != 1)
 
6751
+    abort ();
 
6752
+  return 0;
 
6753
+}
 
6754
Index: gcc/testsuite/gcc.dg/torture/pr57517.c
 
6755
===================================================================
 
6756
--- a/src/gcc/testsuite/gcc.dg/torture/pr57517.c        (.../tags/gcc_4_8_2_release)
 
6757
+++ b/src/gcc/testsuite/gcc.dg/torture/pr57517.c        (.../branches/gcc-4_8-branch)
 
6758
@@ -0,0 +1,16 @@
 
6759
+/* { dg-do compile } */
 
6760
+
 
6761
+int x[1024], y[1024], z[1024], w[1024];
 
6762
+void foo (void)
 
6763
+{
 
6764
+  int i;
 
6765
+  for (i = 1; i < 1024; ++i)
 
6766
+    {
 
6767
+      int a = x[i];
 
6768
+      int b = y[i];
 
6769
+      int c = x[i-1];
 
6770
+      int d = y[i-1];
 
6771
+      if (w[i])
 
6772
+       z[i] = (a + b) + (c + d);
 
6773
+    }
 
6774
+}
 
6775
Index: gcc/testsuite/gcc.dg/torture/pr58779.c
 
6776
===================================================================
 
6777
--- a/src/gcc/testsuite/gcc.dg/torture/pr58779.c        (.../tags/gcc_4_8_2_release)
 
6778
+++ b/src/gcc/testsuite/gcc.dg/torture/pr58779.c        (.../branches/gcc-4_8-branch)
 
6779
@@ -0,0 +1,12 @@
 
6780
+/* { dg-do run } */
 
6781
+
 
6782
+int a, c;
 
6783
+
 
6784
+int main ()
 
6785
+{
 
6786
+  int e = -1;
 
6787
+  short d = (c <= 0) ^ e;
 
6788
+  if ((unsigned int) a - (a || d) <= (unsigned int) a)
 
6789
+    __builtin_abort ();
 
6790
+  return 0;
 
6791
+}
 
6792
Index: gcc/testsuite/gcc.dg/torture/pr58079.c
 
6793
===================================================================
 
6794
--- a/src/gcc/testsuite/gcc.dg/torture/pr58079.c        (.../tags/gcc_4_8_2_release)
 
6795
+++ b/src/gcc/testsuite/gcc.dg/torture/pr58079.c        (.../branches/gcc-4_8-branch)
 
6796
@@ -0,0 +1,107 @@
 
6797
+/* { dg-options "-mlong-calls" { target mips*-*-* } } */
 
6798
+
 
6799
+typedef unsigned char u8;
 
6800
+typedef unsigned short u16;
 
6801
+typedef unsigned int __kernel_size_t;
 
6802
+typedef __kernel_size_t size_t;
 
6803
+struct list_head {
 
6804
+ struct list_head *next;
 
6805
+};
 
6806
+
 
6807
+struct dmx_ts_feed {
 
6808
+ int is_filtering;
 
6809
+};
 
6810
+struct dmx_section_feed {
 
6811
+ u16 secbufp;
 
6812
+ u16 seclen;
 
6813
+ u16 tsfeedp;
 
6814
+};
 
6815
+
 
6816
+typedef int (*dmx_ts_cb) (
 
6817
+       const u8 * buffer1,
 
6818
+      size_t buffer1_length,
 
6819
+      const u8 * buffer2,
 
6820
+      size_t buffer2_length
 
6821
+);
 
6822
+
 
6823
+struct dvb_demux_feed {
 
6824
+ union {
 
6825
+  struct dmx_ts_feed ts;
 
6826
+  struct dmx_section_feed sec;
 
6827
+ } feed;
 
6828
+ union {
 
6829
+  dmx_ts_cb ts;
 
6830
+ } cb;
 
6831
+ int type;
 
6832
+ u16 pid;
 
6833
+ int ts_type;
 
6834
+ struct list_head list_head;
 
6835
+};
 
6836
+
 
6837
+struct dvb_demux {
 
6838
+ int (*stop_feed)(struct dvb_demux_feed *feed);
 
6839
+ struct list_head feed_list;
 
6840
+};
 
6841
+
 
6842
+
 
6843
+static
 
6844
+inline
 
6845
+__attribute__((always_inline))
 
6846
+u8
 
6847
+payload(const u8 *tsp)
 
6848
+{
 
6849
+ if (tsp[3] & 0x20) {
 
6850
+   return 184 - 1 - tsp[4];
 
6851
+ }
 
6852
+ return 184;
 
6853
+}
 
6854
+
 
6855
+static
 
6856
+inline
 
6857
+__attribute__((always_inline))
 
6858
+int
 
6859
+dvb_dmx_swfilter_payload(struct dvb_demux_feed *feed, const u8 *buf)
 
6860
+{
 
6861
+ int count = payload(buf);
 
6862
+ int p;
 
6863
+ if (count == 0)
 
6864
+  return -1;
 
6865
+ return feed->cb.ts(&buf[p], count, ((void *)0), 0);
 
6866
+}
 
6867
+
 
6868
+static
 
6869
+inline
 
6870
+__attribute__((always_inline))
 
6871
+void
 
6872
+dvb_dmx_swfilter_packet_type(struct dvb_demux_feed *feed, const u8 *buf)
 
6873
+{
 
6874
+ switch (feed->type) {
 
6875
+ case 0:
 
6876
+  if (feed->ts_type & 1) {
 
6877
+    dvb_dmx_swfilter_payload(feed, buf);
 
6878
+  }
 
6879
+  if (dvb_dmx_swfilter_section_packet(feed, buf) < 0)
 
6880
+   feed->feed.sec.seclen = feed->feed.sec.secbufp = 0;
 
6881
+ }
 
6882
+}
 
6883
+
 
6884
+static
 
6885
+void
 
6886
+dvb_dmx_swfilter_packet(struct dvb_demux *demux, const u8 *buf)
 
6887
+{
 
6888
+ struct dvb_demux_feed *feed;
 
6889
+ int dvr_done = 0;
 
6890
+
 
6891
+ for (feed = ({ const typeof( ((typeof(*feed) *)0)->list_head ) *__mptr = ((&demux->feed_list)->next); (typeof(*feed) *)( (char *)__mptr - __builtin_offsetof(typeof(*feed),list_head) );}); __builtin_prefetch(feed->list_head.next), &feed->list_head != (&demux->feed_list); feed = ({ const typeof( ((typeof(*feed) *)0)->list_head ) *__mptr = (feed->list_head.next); (typeof(*feed) *)( (char *)__mptr - __builtin_offsetof(typeof(*feed),list_head) );})) {
 
6892
+  if (((((feed)->type == 0) && ((feed)->feed.ts.is_filtering) && (((feed)->ts_type & (1 | 8)) == 1))) && (dvr_done++))
 
6893
+   dvb_dmx_swfilter_packet_type(feed, buf);
 
6894
+  else if (feed->pid == 0x2000)
 
6895
+   feed->cb.ts(buf, 188, ((void *)0), 0);
 
6896
+ }
 
6897
+}
 
6898
+void dvb_dmx_swfilter_packets(struct dvb_demux *demux, const u8 *buf, size_t count)
 
6899
+{
 
6900
+ while (count--) {
 
6901
+   dvb_dmx_swfilter_packet(demux, buf);
 
6902
+ }
 
6903
+}
 
6904
Index: gcc/testsuite/gcc.dg/torture/pr58830.c
 
6905
===================================================================
 
6906
--- a/src/gcc/testsuite/gcc.dg/torture/pr58830.c        (.../tags/gcc_4_8_2_release)
 
6907
+++ b/src/gcc/testsuite/gcc.dg/torture/pr58830.c        (.../branches/gcc-4_8-branch)
 
6908
@@ -0,0 +1,42 @@
 
6909
+/* { dg-do run } */
 
6910
+/* { dg-additional-options "-ftree-pre -ftree-partial-pre" } */
 
6911
+
 
6912
+extern void abort (void);
 
6913
+
 
6914
+int b, c, d, f, g, h, i, j[6], *l = &b, *m, n, *o, r; 
 
6915
+char k;
 
6916
+
 
6917
+static int
 
6918
+foo ()
 
6919
+{
 
6920
+  char *p = &k;
 
6921
+
 
6922
+  for (; d; d++)
 
6923
+    if (i)
 
6924
+      h = 0;
 
6925
+    else
 
6926
+      h = c || (r = 0);
 
6927
+
 
6928
+  for (f = 0; f < 2; f++)
 
6929
+    {
 
6930
+      unsigned int q;
 
6931
+      *l = 0;
 
6932
+      if (n)
 
6933
+       *m = g;
 
6934
+      if (g)
 
6935
+       o = 0;
 
6936
+      for (q = -8; q >= 5; q++)
 
6937
+       (*p)--;
 
6938
+    }
 
6939
+
 
6940
+  return 0;
 
6941
+}
 
6942
+
 
6943
+int
 
6944
+main ()
 
6945
+{
 
6946
+  foo ();
 
6947
+  if (j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ^ (k & 15)] != 0)
 
6948
+    abort ();
 
6949
+  return 0;
 
6950
+}
 
6951
Index: gcc/testsuite/gcc.dg/torture/pr58143-1.c
 
6952
===================================================================
 
6953
--- a/src/gcc/testsuite/gcc.dg/torture/pr58143-1.c      (.../tags/gcc_4_8_2_release)
 
6954
+++ b/src/gcc/testsuite/gcc.dg/torture/pr58143-1.c      (.../branches/gcc-4_8-branch)
 
6955
@@ -0,0 +1,51 @@
 
6956
+/* { dg-do run } */
 
6957
+/* { dg-additional-options "-fstrict-overflow" } */
 
6958
+
 
6959
+extern void abort (void);
 
6960
+
 
6961
+int a, b, c, d, e, f, g, h = 1, i;
 
6962
+
 
6963
+int foo (int p)
 
6964
+{
 
6965
+  return p < 0 && a < - __INT_MAX__ - 1 - p ? 0 : 1;
 
6966
+}
 
6967
+
 
6968
+int *bar ()
 
6969
+{
 
6970
+  int j; 
 
6971
+  i = h ? 0 : 1 % h;
 
6972
+  for (j = 0; j < 1; j++)
 
6973
+    for (d = 0; d; d++)
 
6974
+      for (e = 1; e;)
 
6975
+       return 0;
 
6976
+  return 0;
 
6977
+}
 
6978
+
 
6979
+int baz ()
 
6980
+{
 
6981
+  for (; b >= 0; b--)
 
6982
+    for (c = 1; c >= 0; c--)
 
6983
+      {
 
6984
+       int *k = &c;
 
6985
+       for (;;)
 
6986
+         {
 
6987
+           for (f = 0; f < 1; f++)
 
6988
+             {
 
6989
+               g = foo (*k);
 
6990
+               bar ();
 
6991
+             }
 
6992
+           if (*k)
 
6993
+             break;
 
6994
+           return 0;
 
6995
+         }
 
6996
+      }
 
6997
+  return 0;
 
6998
+}
 
6999
+
 
7000
+int main ()
 
7001
+{
 
7002
+  baz ();
 
7003
+  if (b != 0)
 
7004
+    abort ();
 
7005
+  return 0;
 
7006
+}
 
7007
Index: gcc/testsuite/gcc.dg/torture/pr58143-2.c
 
7008
===================================================================
 
7009
--- a/src/gcc/testsuite/gcc.dg/torture/pr58143-2.c      (.../tags/gcc_4_8_2_release)
 
7010
+++ b/src/gcc/testsuite/gcc.dg/torture/pr58143-2.c      (.../branches/gcc-4_8-branch)
 
7011
@@ -0,0 +1,34 @@
 
7012
+/* { dg-do run } */
 
7013
+/* { dg-additional-options "-fstrict-overflow" } */
 
7014
+
 
7015
+int a, b, d, e, f, *g, h, i;
 
7016
+volatile int c;
 
7017
+
 
7018
+char foo (unsigned char p)
 
7019
+{
 
7020
+  return p + 1;
 
7021
+}
 
7022
+
 
7023
+int bar () 
 
7024
+{
 
7025
+  for (h = 0; h < 3; h = foo (h))
 
7026
+    {
 
7027
+      c;
 
7028
+      for (f = 0; f < 1; f++)
 
7029
+       {
 
7030
+         i = a && 0 < -__INT_MAX__ - h ? 0 : 1;
 
7031
+         if (e)
 
7032
+           for (; d;)
 
7033
+             b = 0;
 
7034
+         else
 
7035
+           g = 0;
 
7036
+       }
 
7037
+    }
 
7038
+  return 0;
 
7039
+}
 
7040
+
 
7041
+int main ()
 
7042
+{
 
7043
+  bar ();
 
7044
+  return 0;
 
7045
+}
 
7046
Index: gcc/testsuite/gcc.dg/torture/pr58941.c
 
7047
===================================================================
 
7048
--- a/src/gcc/testsuite/gcc.dg/torture/pr58941.c        (.../tags/gcc_4_8_2_release)
 
7049
+++ b/src/gcc/testsuite/gcc.dg/torture/pr58941.c        (.../branches/gcc-4_8-branch)
 
7050
@@ -0,0 +1,33 @@
 
7051
+/* { dg-do run } */
 
7052
+
 
7053
+extern void abort (void);
 
7054
+
 
7055
+typedef struct {
 
7056
+    int msgLength;
 
7057
+    unsigned char data[1000];
 
7058
+} SMsg;
 
7059
+
 
7060
+typedef struct {
 
7061
+    int dummy;
 
7062
+    int d[0];
 
7063
+} SData;
 
7064
+
 
7065
+int condition = 3;
 
7066
+
 
7067
+int main()
 
7068
+{
 
7069
+  SMsg msg;
 
7070
+  SData *pData = (SData*)(msg.data);
 
7071
+  unsigned int i = 0;
 
7072
+  for (i = 0; i < 1; i++)
 
7073
+    {
 
7074
+      pData->d[i] = 0;
 
7075
+      if(condition & 1)
 
7076
+       pData->d[i] |= 0x55;
 
7077
+      if(condition & 2)
 
7078
+       pData->d[i] |= 0xaa;
 
7079
+    }
 
7080
+  if (pData->d[0] != 0xff)
 
7081
+    abort ();
 
7082
+  return 0;
 
7083
+}
 
7084
Index: gcc/testsuite/gcc.dg/torture/pr57488.c
 
7085
===================================================================
 
7086
--- a/src/gcc/testsuite/gcc.dg/torture/pr57488.c        (.../tags/gcc_4_8_2_release)
 
7087
+++ b/src/gcc/testsuite/gcc.dg/torture/pr57488.c        (.../branches/gcc-4_8-branch)
 
7088
@@ -0,0 +1,58 @@
 
7089
+/* { dg-do run } */
 
7090
+
 
7091
+extern void abort (void);
 
7092
+
 
7093
+int i, j, *pj = &j, **ppj = &pj;
 
7094
+int x, *px = &x;
 
7095
+
 
7096
+short s, *ps = &s, k;
 
7097
+
 
7098
+unsigned short u, *pu = &u, **ppu = &pu;
 
7099
+
 
7100
+char c, *pc = &c;
 
7101
+
 
7102
+unsigned char v = 48;
 
7103
+
 
7104
+static int
 
7105
+bar (int p)
 
7106
+{
 
7107
+  p = k;
 
7108
+  *px = **ppu = i;
 
7109
+  *ppj = &p;
 
7110
+  if (**ppj)
 
7111
+    *pj = p;
 
7112
+  return p;
 
7113
+}
 
7114
+
 
7115
+void __attribute__((noinline))
 
7116
+foo ()
 
7117
+{
 
7118
+  for (; i <= 3; i++)
 
7119
+    for (; j; j--);
 
7120
+
 
7121
+  u ^= bar (*pj);
 
7122
+
 
7123
+  for (k = 1; k >= 0; k--)
 
7124
+    {
 
7125
+      int l;
 
7126
+      bar (0);
 
7127
+      for (l = 1; l < 5; l++)
 
7128
+       {
 
7129
+         int m;
 
7130
+         for (m = 6; m; m--)
 
7131
+           {
 
7132
+             v--;
 
7133
+             *ps = *pc;
 
7134
+           }
 
7135
+       }
 
7136
+    }
 
7137
+}
 
7138
+
 
7139
+int
 
7140
+main ()
 
7141
+{
 
7142
+  foo ();
 
7143
+  if (v != 0)
 
7144
+    abort ();
 
7145
+  return 0;
 
7146
+}
 
7147
Index: gcc/testsuite/gcc.dg/torture/pr58143-3.c
 
7148
===================================================================
 
7149
--- a/src/gcc/testsuite/gcc.dg/torture/pr58143-3.c      (.../tags/gcc_4_8_2_release)
 
7150
+++ b/src/gcc/testsuite/gcc.dg/torture/pr58143-3.c      (.../branches/gcc-4_8-branch)
 
7151
@@ -0,0 +1,18 @@
 
7152
+/* { dg-do run } */
 
7153
+/* { dg-additional-options "-fstrict-overflow" } */
 
7154
+
 
7155
+int a, b, c, d, e;
 
7156
+
 
7157
+int
 
7158
+main ()
 
7159
+{
 
7160
+  for (b = 4; b > -30; b--)
 
7161
+    for (; c;)
 
7162
+      for (;;)
 
7163
+       {
 
7164
+         e = a > __INT_MAX__ - b;
 
7165
+         if (d)
 
7166
+           break;
 
7167
+       }
 
7168
+  return 0;
 
7169
+}
 
7170
Index: gcc/testsuite/gcc.dg/tree-ssa/predcom-6.c
 
7171
===================================================================
 
7172
--- a/src/gcc/testsuite/gcc.dg/tree-ssa/predcom-6.c     (.../tags/gcc_4_8_2_release)
 
7173
+++ b/src/gcc/testsuite/gcc.dg/tree-ssa/predcom-6.c     (.../branches/gcc-4_8-branch)
 
7174
@@ -0,0 +1,14 @@
 
7175
+/* { dg-do run } */
 
7176
+/* { dg-options "-O3" } */
 
7177
+
 
7178
+int a, c, e[5][2]; 
 
7179
+unsigned int d;
 
7180
+
 
7181
+int
 
7182
+main ()
 
7183
+{
 
7184
+  for (d = 0; d < 2; d++)
 
7185
+    if (a ? 0 : e[c + 3][d] & e[c + 4][d])
 
7186
+      break;
 
7187
+  return 0;
 
7188
+}
 
7189
Index: gcc/testsuite/gcc.dg/tree-ssa/predcom-7.c
 
7190
===================================================================
 
7191
--- a/src/gcc/testsuite/gcc.dg/tree-ssa/predcom-7.c     (.../tags/gcc_4_8_2_release)
 
7192
+++ b/src/gcc/testsuite/gcc.dg/tree-ssa/predcom-7.c     (.../branches/gcc-4_8-branch)
 
7193
@@ -0,0 +1,18 @@
 
7194
+/* { dg-do run } */
 
7195
+/* { dg-options "-O3 -fdump-tree-pcom-details" } */
 
7196
+
 
7197
+int b, f, d[5][2];
 
7198
+unsigned int c;
 
7199
+
 
7200
+int
 
7201
+main ()
 
7202
+{
 
7203
+  for (c = 0; c < 2; c++)
 
7204
+    if (d[b + 3][c] & d[b + 4][c])
 
7205
+      if (f)
 
7206
+       break;
 
7207
+  return 0;
 
7208
+}
 
7209
+
 
7210
+/* { dg-final { scan-tree-dump "Executing predictive commoning" "pcom" } } */
 
7211
+/* { dg-final { cleanup-tree-dump "pcom" } } */
 
7212
Index: gcc/testsuite/ChangeLog
 
7213
===================================================================
 
7214
--- a/src/gcc/testsuite/ChangeLog       (.../tags/gcc_4_8_2_release)
 
7215
+++ b/src/gcc/testsuite/ChangeLog       (.../branches/gcc-4_8-branch)
 
7216
@@ -1,3 +1,226 @@
 
7217
+2013-11-20  Dominik Vogt  <vogt@linux.vnet.ibm.com>
 
7218
+
 
7219
+       Backport from mainline
 
7220
+       * gcc.target/s390/htm-1.c: Rename to ...
 
7221
+       * gcc/testsuite/gcc.target/s390/htm-builtins-compile-1.c: ... this
 
7222
+       one.
 
7223
+       * gcc.target/s390/htm-xl-intrin-1.c: Rename to ...
 
7224
+       * gcc.target/s390/htm-builtins-compile-3.c: ... this one.
 
7225
+       * gcc.target/s390/htm-builtins-compile-2.c: New testcase.
 
7226
+       * gcc.target/s390/htm-builtins-1.c: New testcase.
 
7227
+       * gcc.target/s390/htm-builtins-2.c: New testcase.
 
7228
+       * gcc.target/s390/s390.exp: Add check for htm machine.
 
7229
+
 
7230
+2013-11-19  Richard Biener  <rguenther@suse.de>
 
7231
+
 
7232
+       PR tree-optimization/57517
 
7233
+       * gfortran.fortran-torture/compile/pr57517.f90: New testcase.
 
7234
+       * gcc.dg/torture/pr57517.c: Likewise.
 
7235
+
 
7236
+2013-11-19  Richard Biener  <rguenther@suse.de>
 
7237
+
 
7238
+       Backport from mainline
 
7239
+       2013-11-05  Richard Biener  <rguenther@suse.de>
 
7240
+
 
7241
+       PR middle-end/58941
 
7242
+       * gcc.dg/torture/pr58941.c: New testcase.
 
7243
+
 
7244
+2013-11-18  Richard Biener  <rguenther@suse.de>
 
7245
+
 
7246
+       Backport from mainline
 
7247
+       2013-10-21  Richard Biener  <rguenther@suse.de>
 
7248
+
 
7249
+       PR tree-optimization/58794
 
7250
+       * c-c++-common/torture/pr58794-1.c: New testcase.
 
7251
+       * c-c++-common/torture/pr58794-2.c: Likewise.
 
7252
+
 
7253
+       2013-10-21  Richard Biener  <rguenther@suse.de>
 
7254
+
 
7255
+       PR middle-end/58742
 
7256
+       * c-c++-common/fold-divmul-1.c: New testcase.
 
7257
+
 
7258
+       2013-11-06  Richard Biener  <rguenther@suse.de>
 
7259
+
 
7260
+       PR tree-optimization/58653
 
7261
+       * gcc.dg/tree-ssa/predcom-6.c: New testcase.
 
7262
+       * gcc.dg/tree-ssa/predcom-7.c: Likewise.
 
7263
+
 
7264
+       PR tree-optimization/59047
 
7265
+       * gcc.dg/torture/pr59047.c: New testcase.
 
7266
+
 
7267
+       2013-10-15  Richard Biener  <rguenther@suse.de>
 
7268
+
 
7269
+       PR tree-optimization/58143
 
7270
+       * gcc.dg/torture/pr58143-1.c: New testcase.
 
7271
+       * gcc.dg/torture/pr58143-2.c: Likewise.
 
7272
+       * gcc.dg/torture/pr58143-3.c: Likewise.
 
7273
+
 
7274
+2013-11-17  Janus Weil  <janus@gcc.gnu.org>
 
7275
+
 
7276
+       Backport from mainline
 
7277
+       2013-11-07  Janus Weil  <janus@gcc.gnu.org>
 
7278
+
 
7279
+       PR fortran/58471
 
7280
+       * gfortran.dg/constructor_9.f90: New.
 
7281
+
 
7282
+2013-11-16  Janus Weil  <janus@gcc.gnu.org>
 
7283
+
 
7284
+       Backport from mainline
 
7285
+       2013-09-20  Janus Weil  <janus@gcc.gnu.org>
 
7286
+
 
7287
+       PR fortran/58099
 
7288
+       * gfortran.dg/proc_ptr_43.f90: New.
 
7289
+
 
7290
+2013-11-16  Paul Thomas  <pault@gcc.gnu.org>
 
7291
+
 
7292
+       PR fortran/58771
 
7293
+       * gfortran.dg/derived_external_function_1.f90 : New test
 
7294
+
 
7295
+2013-11-14  Uros Bizjak  <ubizjak@gmail.com>
 
7296
+
 
7297
+       Backport from mainline
 
7298
+       2013-11-06  Uros Bizjak  <ubizjak@gmail.com>
 
7299
+
 
7300
+       PR target/59021
 
7301
+       * gcc.target/i386/pr59021.c: New test.
 
7302
+
 
7303
+2013-11-14  Jakub Jelinek  <jakub@redhat.com>
 
7304
+
 
7305
+       PR target/59101
 
7306
+       * gcc.c-torture/execute/pr59101.c: New test.
 
7307
+
 
7308
+2013-11-11  Jakub Jelinek  <jakub@redhat.com>
 
7309
+
 
7310
+       Backported from mainline
 
7311
+       2013-11-06  Jakub Jelinek  <jakub@redhat.com>
 
7312
+
 
7313
+       PR middle-end/58970
 
7314
+       * gcc.c-torture/compile/pr58970-1.c: New test.
 
7315
+       * gcc.c-torture/compile/pr58970-2.c: New test.
 
7316
+
 
7317
+       2013-11-05  Jakub Jelinek  <jakub@redhat.com>
 
7318
+
 
7319
+       PR rtl-optimization/58997
 
7320
+       * gcc.c-torture/compile/pr58997.c: New test.
 
7321
+
 
7322
+2013-11-10  Wei Mi  <wmi@google.com>
 
7323
+
 
7324
+       * testsuite/gcc.dg/pr57518.c: Backport regex fix from r200720.
 
7325
+
 
7326
+2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
 
7327
+
 
7328
+       Backport from mainline
 
7329
+       2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
 
7330
+
 
7331
+       PR target/59034
 
7332
+       * gcc.target/i386/pr59034-1.c: New test.
 
7333
+       * gcc.target/i386/pr59034-2.c: Likewise.
 
7334
+
 
7335
+2013-11-06  Wei Mi  <wmi@google.com>
 
7336
+
 
7337
+       PR regression/58985
 
7338
+       * testsuite/gcc.dg/pr57518.c: Add subreg in regexp pattern.
 
7339
+
 
7340
+2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
 
7341
+
 
7342
+       PR fortran/58989
 
7343
+       * gfortran.dg/reshape_6.f90: New test.
 
7344
+
 
7345
+2013-11-05  Jakub Jelinek  <jakub@redhat.com>
 
7346
+
 
7347
+       PR tree-optimization/58984
 
7348
+       * gcc.c-torture/execute/pr58984.c: New test.
 
7349
+
 
7350
+2013-11-04  Marek Polacek  <polacek@redhat.com>
 
7351
+
 
7352
+       Backport from mainline
 
7353
+       2013-11-04  Marek Polacek  <polacek@redhat.com>
 
7354
+
 
7355
+       PR c++/58979
 
7356
+       * g++.dg/diagnostic/pr58979.C: New test.
 
7357
+
 
7358
+2013-11-03  H.J. Lu  <hongjiu.lu@intel.com>
 
7359
+
 
7360
+       Backport from mainline
 
7361
+       2013-10-12  H.J. Lu  <hongjiu.lu@intel.com>
 
7362
+
 
7363
+       PR target/58690
 
7364
+       * gcc.target/i386/pr58690.c: New test
 
7365
+
 
7366
+2013-11-02  Janus Weil  <janus@gcc.gnu.org>
 
7367
+
 
7368
+       Backport from mainline
 
7369
+       2013-09-23  Janus Weil  <janus@gcc.gnu.org>
 
7370
+
 
7371
+       PR fortran/58355
 
7372
+       * gfortran.dg/extends_15.f90: New.
 
7373
+
 
7374
+2013-10-29  Uros Bizjak  <ubizjak@gmail.com>
 
7375
+
 
7376
+       Backport from mainline
 
7377
+       2013-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
 
7378
+
 
7379
+       PR rtl-optimization/58079
 
7380
+       * gcc.dg/torture/pr58079.c: New test.
 
7381
+
 
7382
+2013-10-28  Tom de Vries  <tom@codesourcery.com>
 
7383
+
 
7384
+       * gcc.target/arm/require-pic-register-loc.c: New test.
 
7385
+
 
7386
+2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
 
7387
+
 
7388
+       Backport from mainline
 
7389
+       2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
 
7390
+
 
7391
+       PR target/58779
 
7392
+       * gcc.target/i386/pr30315.c: Remove MINUSCC, DECCC, MINUSCCONLY
 
7393
+       and MINUSCCZEXT defines. Update scan-assembler dg directive.
 
7394
+       * gcc.dg/torture/pr58779.c: New test.
 
7395
+
 
7396
+2013-10-25  Richard Henderson  <rth@redhat.com>
 
7397
+
 
7398
+       PR rtl/58542
 
7399
+       * gcc.dg/atomic-store-6.c: New.
 
7400
+
 
7401
+2013-10-25  Tom de Vries  <tom@codesourcery.com>
 
7402
+
 
7403
+       PR c++/58282
 
7404
+       * g++.dg/tm/noexcept-6.C: New test.
 
7405
+
 
7406
+2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
 
7407
+
 
7408
+       * gcc.c-torture/execute/pr58831.c: New test.
 
7409
+
 
7410
+2013-10-23  Tom de Vries  <tom@codesourcery.com>
 
7411
+
 
7412
+       PR tree-optimization/58805
 
7413
+       * gcc.dg/pr58805.c: New test.
 
7414
+
 
7415
+2013-10-23  Richard Biener  <rguenther@suse.de>
 
7416
+
 
7417
+       * gcc.dg/torture/pr58830.c: New testcase.
 
7418
+
 
7419
+       Backport from mainline
 
7420
+       2013-06-24  Richard Biener  <rguenther@suse.de>
 
7421
+
 
7422
+       PR tree-optimization/57488
 
7423
+       * gcc.dg/torture/pr57488.c: New testcase.
 
7424
+
 
7425
+2013-10-19  Oleg Endo  <olegendo@gcc.gnu.org>
 
7426
+
 
7427
+       * gcc.target/sh/pr54089-3.c: Fix test for load of constant 31.
 
7428
+
 
7429
+2013-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
 
7430
+
 
7431
+       PR c++/58596
 
7432
+       * g++.dg/cpp0x/lambda/lambda-nsdmi5.C: New
 
7433
+
 
7434
+2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
 
7435
+
 
7436
+       PR c++/58633
 
7437
+       * g++.dg/cpp0x/decltype57.C: New.
 
7438
+       * g++.dg/cpp0x/enum18.C: Revert r174385 changes.
 
7439
+
 
7440
 2013-10-16  Release Manager
 
7441
 
 
7442
        * GCC 4.8.2 released.
 
7443
@@ -39,9 +262,9 @@
 
7444
        Backport from mainline
 
7445
        2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
7446
 
 
7447
-        * gcc.target/s390/htm-1.c: New file.
 
7448
-        * gcc.target/s390/htm-nofloat-1.c: New file.
 
7449
-        * gcc.target/s390/htm-xl-intrin-1.c: New file.
 
7450
+       * gcc.target/s390/htm-1.c: New file.
 
7451
+       * gcc.target/s390/htm-nofloat-1.c: New file.
 
7452
+       * gcc.target/s390/htm-xl-intrin-1.c: New file.
 
7453
 
 
7454
 2013-10-04  Tobias Burnus  <burnus@net-b.de>
 
7455
 
 
7456
@@ -307,8 +530,8 @@
 
7457
        Backport from mainline
 
7458
        2013-08-12  Perez Read  <netfirewall@gmail.com>
 
7459
 
 
7460
-        PR target/58132
 
7461
-        * gcc.target/i386/movabs-1.c: New test.
 
7462
+       PR target/58132
 
7463
+       * gcc.target/i386/movabs-1.c: New test.
 
7464
 
 
7465
 2013-08-11  Janus Weil  <janus@gcc.gnu.org>
 
7466
 
 
7467
@@ -623,8 +846,8 @@
 
7468
 
 
7469
 2013-05-09  Martin Jambor  <mjambor@suse.cz>
 
7470
 
 
7471
-        PR middle-end/56988
 
7472
-        * gcc.dg/ipa/pr56988.c: New test.
 
7473
+       PR middle-end/56988
 
7474
+       * gcc.dg/ipa/pr56988.c: New test.
 
7475
 
 
7476
 2013-05-08  Marc Glisse  <marc.glisse@inria.fr>
 
7477
 
 
7478
@@ -701,7 +924,7 @@
 
7479
        2013-04-25  Marek Polacek  <polacek@redhat.com>
 
7480
 
 
7481
        PR tree-optimization/57066
 
7482
-        * gcc.dg/torture/builtin-logb-1.c: Adjust testcase.
 
7483
+       * gcc.dg/torture/builtin-logb-1.c: Adjust testcase.
 
7484
 
 
7485
 2013-05-02  Jakub Jelinek  <jakub@redhat.com>
 
7486
 
 
7487
@@ -727,32 +950,32 @@
 
7488
        Backport from mainline
 
7489
        2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
 
7490
 
 
7491
-        PR rtl-optimizations/57046
 
7492
-        * gcc.target/i386/pr57046.c: New test.
 
7493
+       PR rtl-optimizations/57046
 
7494
+       * gcc.target/i386/pr57046.c: New test.
 
7495
 
 
7496
 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
 
7497
 
 
7498
        Backport from mainline
 
7499
        2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>
 
7500
 
 
7501
-        PR target/57018
 
7502
-        * gcc.target/i386/pr57018.c: New test.
 
7503
+       PR target/57018
 
7504
+       * gcc.target/i386/pr57018.c: New test.
 
7505
 
 
7506
 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
 
7507
 
 
7508
        Backport from mainline
 
7509
        2013-04-18  Jakub Jelinek  <jakub@redhat.com>
 
7510
 
 
7511
-        PR rtl-optimization/56999
 
7512
-        * g++.dg/opt/pr56999.C: New test.
 
7513
+       PR rtl-optimization/56999
 
7514
+       * g++.dg/opt/pr56999.C: New test.
 
7515
 
 
7516
 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
 
7517
 
 
7518
        Backport from mainline
 
7519
        2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>
 
7520
 
 
7521
-        PR rtl-optimization/56847
 
7522
-        * gcc.dg/pr56847.c: New test.
 
7523
+       PR rtl-optimization/56847
 
7524
+       * gcc.dg/pr56847.c: New test.
 
7525
 
 
7526
 2013-05-02  Ian Bolton  <ian.bolton@arm.com>
 
7527
 
 
7528
Index: gcc/testsuite/gfortran.fortran-torture/compile/pr57517.f90
 
7529
===================================================================
 
7530
--- a/src/gcc/testsuite/gfortran.fortran-torture/compile/pr57517.f90    (.../tags/gcc_4_8_2_release)
 
7531
+++ b/src/gcc/testsuite/gfortran.fortran-torture/compile/pr57517.f90    (.../branches/gcc-4_8-branch)
 
7532
@@ -0,0 +1,13 @@
 
7533
+SUBROUTINE cal_helicity (uh, ph, phb, wavg, ims, ime, its, ite)
 
7534
+  INTEGER, INTENT( IN ) :: ims, ime, its, ite
 
7535
+  REAL, DIMENSION( ims:ime), INTENT( IN ) :: ph, phb, wavg
 
7536
+  REAL, DIMENSION( ims:ime), INTENT( INOUT ) :: uh
 
7537
+  INTEGER :: i
 
7538
+  REAL :: zu
 
7539
+  DO i = its, ite
 
7540
+    zu =  (ph(i ) + phb(i)) + (ph(i-1) + phb(i-1))
 
7541
+    IF (wavg(i) .GT. 0) THEN
 
7542
+      uh(i) = uh(i) + zu 
 
7543
+    ENDIF
 
7544
+  END DO
 
7545
+END SUBROUTINE cal_helicity
 
7546
Index: gcc/testsuite/g++.dg/diagnostic/pr58979.C
 
7547
===================================================================
 
7548
--- a/src/gcc/testsuite/g++.dg/diagnostic/pr58979.C     (.../tags/gcc_4_8_2_release)
 
7549
+++ b/src/gcc/testsuite/g++.dg/diagnostic/pr58979.C     (.../branches/gcc-4_8-branch)
 
7550
@@ -0,0 +1,4 @@
 
7551
+// PR c++/58979
 
7552
+// { dg-do compile }
 
7553
+
 
7554
+int i = 0->*0; // { dg-error "invalid type argument of" }
 
7555
Index: gcc/testsuite/g++.dg/tm/noexcept-6.C
 
7556
===================================================================
 
7557
--- a/src/gcc/testsuite/g++.dg/tm/noexcept-6.C  (.../tags/gcc_4_8_2_release)
 
7558
+++ b/src/gcc/testsuite/g++.dg/tm/noexcept-6.C  (.../branches/gcc-4_8-branch)
 
7559
@@ -0,0 +1,23 @@
 
7560
+// { dg-do compile }
 
7561
+// { dg-options "-fno-exceptions -fgnu-tm -O -std=c++0x -fdump-tree-tmlower" }
 
7562
+
 
7563
+struct TrueFalse
 
7564
+{
 
7565
+  static constexpr bool v() { return true; }
 
7566
+};
 
7567
+
 
7568
+int global;
 
7569
+
 
7570
+template<typename T> int foo()
 
7571
+{
 
7572
+  return __transaction_atomic noexcept(T::v()) (global + 1);
 
7573
+}
 
7574
+
 
7575
+int f1()
 
7576
+{
 
7577
+  return foo<TrueFalse>();
 
7578
+}
 
7579
+
 
7580
+/* { dg-final { scan-tree-dump-times "eh_must_not_throw" 0 "tmlower" } } */
 
7581
+/* { dg-final { scan-tree-dump-times "__transaction_atomic" 1 "tmlower" } } */
 
7582
+/* { dg-final { cleanup-tree-dump "tmlower" } } */
 
7583
Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi5.C
 
7584
===================================================================
 
7585
--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi5.C     (.../tags/gcc_4_8_2_release)
 
7586
+++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nsdmi5.C     (.../branches/gcc-4_8-branch)
 
7587
@@ -0,0 +1,7 @@
 
7588
+// PR c++/58596
 
7589
+// { dg-do compile { target c++11 } }
 
7590
+
 
7591
+struct A
 
7592
+{
 
7593
+  int i = [] { return decltype(i)(); }();
 
7594
+};
 
7595
Index: gcc/testsuite/g++.dg/cpp0x/enum18.C
 
7596
===================================================================
 
7597
--- a/src/gcc/testsuite/g++.dg/cpp0x/enum18.C   (.../tags/gcc_4_8_2_release)
 
7598
+++ b/src/gcc/testsuite/g++.dg/cpp0x/enum18.C   (.../branches/gcc-4_8-branch)
 
7599
@@ -4,5 +4,5 @@
 
7600
 int main(void) {
 
7601
   enum e {};
 
7602
   e ev;
 
7603
-  ev.e::~e_u();        // { dg-error "e_u. has not been declared" }
 
7604
+  ev.e::~e_u();        // { dg-error "" }
 
7605
 }
 
7606
Index: gcc/testsuite/g++.dg/cpp0x/decltype57.C
 
7607
===================================================================
 
7608
--- a/src/gcc/testsuite/g++.dg/cpp0x/decltype57.C       (.../tags/gcc_4_8_2_release)
 
7609
+++ b/src/gcc/testsuite/g++.dg/cpp0x/decltype57.C       (.../branches/gcc-4_8-branch)
 
7610
@@ -0,0 +1,8 @@
 
7611
+// PR c++/58633
 
7612
+// { dg-do compile { target c++11 } }
 
7613
+
 
7614
+void foo(int i)
 
7615
+{
 
7616
+  typedef int I;
 
7617
+  decltype(i.I::~I())* p;
 
7618
+}
 
7619
Index: gcc/testsuite/c-c++-common/fold-divmul-1.c
 
7620
===================================================================
 
7621
--- a/src/gcc/testsuite/c-c++-common/fold-divmul-1.c    (.../tags/gcc_4_8_2_release)
 
7622
+++ b/src/gcc/testsuite/c-c++-common/fold-divmul-1.c    (.../branches/gcc-4_8-branch)
 
7623
@@ -0,0 +1,11 @@
 
7624
+/* { dg-do compile } */
 
7625
+/* { dg-options "-fdump-tree-original" } */
 
7626
+
 
7627
+int *
 
7628
+fx (int *b, int *e)
 
7629
+{
 
7630
+  return b + (e - b);
 
7631
+}
 
7632
+
 
7633
+/* { dg-final { scan-tree-dump-not "/\\\[ex\\\]" "original" } } */
 
7634
+/* { dg-final { cleanup-tree-dump "original" } } */
 
7635
Index: gcc/testsuite/c-c++-common/torture/pr58794-1.c
 
7636
===================================================================
 
7637
--- a/src/gcc/testsuite/c-c++-common/torture/pr58794-1.c        (.../tags/gcc_4_8_2_release)
 
7638
+++ b/src/gcc/testsuite/c-c++-common/torture/pr58794-1.c        (.../branches/gcc-4_8-branch)
 
7639
@@ -0,0 +1,29 @@
 
7640
+/* { dg-do compile } */
 
7641
+
 
7642
+struct S0
 
7643
+{
 
7644
+  int f;
 
7645
+};
 
7646
+
 
7647
+struct S1
 
7648
+{
 
7649
+  struct S0 f1;
 
7650
+  volatile int f2;
 
7651
+};
 
7652
+
 
7653
+struct S2
 
7654
+{
 
7655
+  struct S1 g;
 
7656
+} a, b; 
 
7657
+
 
7658
+static int *c[1][2] = {{0, (int *)&a.g.f2}};
 
7659
+static int d; 
 
7660
+
 
7661
+int
 
7662
+main ()
 
7663
+{
 
7664
+  for (d = 0; d < 1; d++)
 
7665
+    for (b.g.f1.f = 0; b.g.f1.f < 1; b.g.f1.f++)
 
7666
+      *c[b.g.f1.f][d + 1] = 0;
 
7667
+  return 0;
 
7668
+}
 
7669
Index: gcc/testsuite/c-c++-common/torture/pr58794-2.c
 
7670
===================================================================
 
7671
--- a/src/gcc/testsuite/c-c++-common/torture/pr58794-2.c        (.../tags/gcc_4_8_2_release)
 
7672
+++ b/src/gcc/testsuite/c-c++-common/torture/pr58794-2.c        (.../branches/gcc-4_8-branch)
 
7673
@@ -0,0 +1,21 @@
 
7674
+/* { dg-do compile } */
 
7675
+
 
7676
+struct S 
 
7677
+{
 
7678
+  volatile int f;
 
7679
+} a;
 
7680
+
 
7681
+unsigned int b;
 
7682
+
 
7683
+static int *c[1][2] = {{0, (int *)&a.f}};
 
7684
+static unsigned int d;
 
7685
+
 
7686
+int 
 
7687
+main ()
 
7688
+{
 
7689
+  for (; d < 1; d++)
 
7690
+    for (; b < 1; b++)
 
7691
+      *c[b][d + 1] = 0;
 
7692
+
 
7693
+  return 0;
 
7694
+}
 
7695
Index: gcc/cp/typeck.c
 
7696
===================================================================
 
7697
--- a/src/gcc/cp/typeck.c       (.../tags/gcc_4_8_2_release)
 
7698
+++ b/src/gcc/cp/typeck.c       (.../branches/gcc-4_8-branch)
 
7699
@@ -7611,7 +7611,7 @@
 
7700
   /* Handle null pointer to member function conversions.  */
 
7701
   if (null_ptr_cst_p (pfn))
 
7702
     {
 
7703
-      pfn = build_c_cast (input_location, type, pfn);
 
7704
+      pfn = cp_build_c_cast (type, pfn, complain);
 
7705
       return build_ptrmemfunc1 (to_type,
 
7706
                                integer_zero_node,
 
7707
                                pfn);
 
7708
Index: gcc/cp/except.c
 
7709
===================================================================
 
7710
--- a/src/gcc/cp/except.c       (.../tags/gcc_4_8_2_release)
 
7711
+++ b/src/gcc/cp/except.c       (.../branches/gcc-4_8-branch)
 
7712
@@ -380,6 +380,9 @@
 
7713
 {
 
7714
   tree type = body ? TREE_TYPE (body) : void_type_node;
 
7715
 
 
7716
+  if (!flag_exceptions)
 
7717
+    return body;
 
7718
+
 
7719
   if (cond && !value_dependent_expression_p (cond))
 
7720
     {
 
7721
       cond = cxx_constant_value (cond);
 
7722
Index: gcc/cp/ChangeLog
 
7723
===================================================================
 
7724
--- a/src/gcc/cp/ChangeLog      (.../tags/gcc_4_8_2_release)
 
7725
+++ b/src/gcc/cp/ChangeLog      (.../branches/gcc-4_8-branch)
 
7726
@@ -1,3 +1,34 @@
 
7727
+2013-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
 
7728
+
 
7729
+       * cvt.c (cp_convert_to_pointer): Call build_ptrmemfunc before
 
7730
+       maybe_warn_zero_as_null_pointer_constant to avoid duplicate
 
7731
+       -Wzero-as-null-pointer-constant diagnostics.
 
7732
+
 
7733
+       * typeck.c (build_ptrmemfunc): Use cp_build_c_cast.
 
7734
+
 
7735
+2013-10-25  Tom de Vries  <tom@codesourcery.com>
 
7736
+
 
7737
+       PR c++/58282
 
7738
+       * except.c (build_must_not_throw_expr): Handle
 
7739
+       flag_exceptions.
 
7740
+
 
7741
+2013-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
 
7742
+
 
7743
+       PR c++/58596
 
7744
+       * semantics.c (lambda_expr_this_capture): Handle NSDMIs in the
 
7745
+       cp_unevaluated_operand case.
 
7746
+
 
7747
+2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
 
7748
+
 
7749
+       PR c++/58633
 
7750
+       * parser.c (cp_parser_pseudo_destructor_name): Revert r174385 changes.
 
7751
+
 
7752
+2013-10-16  Jason Merrill  <jason@redhat.com>
 
7753
+
 
7754
+       PR c++/57850
 
7755
+       * decl2.c (dump_tu): Split out from...
 
7756
+       (cp_write_global_declarations): ...here.  Call it in PCH mode.
 
7757
+
 
7758
 2013-10-16  Release Manager
 
7759
 
 
7760
        * GCC 4.8.2 released.
 
7761
Index: gcc/cp/semantics.c
 
7762
===================================================================
 
7763
--- a/src/gcc/cp/semantics.c    (.../tags/gcc_4_8_2_release)
 
7764
+++ b/src/gcc/cp/semantics.c    (.../branches/gcc-4_8-branch)
 
7765
@@ -9481,7 +9481,14 @@
 
7766
   /* In unevaluated context this isn't an odr-use, so just return the
 
7767
      nearest 'this'.  */
 
7768
   if (cp_unevaluated_operand)
 
7769
-    return lookup_name (this_identifier);
 
7770
+    {
 
7771
+      /* In an NSDMI the fake 'this' pointer that we're using for
 
7772
+        parsing is in scope_chain.  */
 
7773
+      if (LAMBDA_EXPR_EXTRA_SCOPE (lambda)
 
7774
+         && TREE_CODE (LAMBDA_EXPR_EXTRA_SCOPE (lambda)) == FIELD_DECL)
 
7775
+       return scope_chain->x_current_class_ptr;
 
7776
+      return lookup_name (this_identifier);
 
7777
+    }
 
7778
 
 
7779
   /* Try to default capture 'this' if we can.  */
 
7780
   if (!this_capture
 
7781
Index: gcc/cp/decl2.c
 
7782
===================================================================
 
7783
--- a/src/gcc/cp/decl2.c        (.../tags/gcc_4_8_2_release)
 
7784
+++ b/src/gcc/cp/decl2.c        (.../branches/gcc-4_8-branch)
 
7785
@@ -3960,6 +3960,22 @@
 
7786
   expand_or_defer_fn (finish_function (0));
 
7787
 }
 
7788
 
 
7789
+/* The entire file is now complete.  If requested, dump everything
 
7790
+   to a file.  */
 
7791
+
 
7792
+static void
 
7793
+dump_tu (void)
 
7794
+{
 
7795
+  int flags;
 
7796
+  FILE *stream = dump_begin (TDI_tu, &flags);
 
7797
+
 
7798
+  if (stream)
 
7799
+    {
 
7800
+      dump_node (global_namespace, flags & ~TDF_SLIM, stream);
 
7801
+      dump_end (TDI_tu, stream);
 
7802
+    }
 
7803
+}
 
7804
+
 
7805
 /* This routine is called at the end of compilation.
 
7806
    Its job is to create all the code needed to initialize and
 
7807
    destroy the global aggregates.  We do the destruction
 
7808
@@ -3990,6 +4006,7 @@
 
7809
   if (pch_file)
 
7810
     {
 
7811
       c_common_write_pch ();
 
7812
+      dump_tu ();
 
7813
       return;
 
7814
     }
 
7815
 
 
7816
@@ -4359,17 +4376,8 @@
 
7817
 
 
7818
   /* The entire file is now complete.  If requested, dump everything
 
7819
      to a file.  */
 
7820
-  {
 
7821
-    int flags;
 
7822
-    FILE *stream = dump_begin (TDI_tu, &flags);
 
7823
+  dump_tu ();
 
7824
 
 
7825
-    if (stream)
 
7826
-      {
 
7827
-       dump_node (global_namespace, flags & ~TDF_SLIM, stream);
 
7828
-       dump_end (TDI_tu, stream);
 
7829
-      }
 
7830
-  }
 
7831
-
 
7832
   if (flag_detailed_statistics)
 
7833
     {
 
7834
       dump_tree_statistics ();
 
7835
Index: gcc/cp/parser.c
 
7836
===================================================================
 
7837
--- a/src/gcc/cp/parser.c       (.../tags/gcc_4_8_2_release)
 
7838
+++ b/src/gcc/cp/parser.c       (.../branches/gcc-4_8-branch)
 
7839
@@ -6421,10 +6421,6 @@
 
7840
   /* Look for the `~'.  */
 
7841
   cp_parser_require (parser, CPP_COMPL, RT_COMPL);
 
7842
 
 
7843
-  /* Once we see the ~, this has to be a pseudo-destructor.  */
 
7844
-  if (!processing_template_decl && !cp_parser_error_occurred (parser))
 
7845
-    cp_parser_commit_to_tentative_parse (parser);
 
7846
-
 
7847
   /* Look for the type-name again.  We are not responsible for
 
7848
      checking that it matches the first type-name.  */
 
7849
   *type = cp_parser_nonclass_name (parser);
 
7850
Index: gcc/cp/cvt.c
 
7851
===================================================================
 
7852
--- a/src/gcc/cp/cvt.c  (.../tags/gcc_4_8_2_release)
 
7853
+++ b/src/gcc/cp/cvt.c  (.../branches/gcc-4_8-branch)
 
7854
@@ -203,13 +203,13 @@
 
7855
 
 
7856
   if (null_ptr_cst_p (expr))
 
7857
     {
 
7858
-      if (complain & tf_warning)
 
7859
-       maybe_warn_zero_as_null_pointer_constant (expr, loc);
 
7860
-
 
7861
       if (TYPE_PTRMEMFUNC_P (type))
 
7862
        return build_ptrmemfunc (TYPE_PTRMEMFUNC_FN_TYPE (type), expr, 0,
 
7863
                                 /*c_cast_p=*/false, complain);
 
7864
 
 
7865
+      if (complain & tf_warning)
 
7866
+       maybe_warn_zero_as_null_pointer_constant (expr, loc);
 
7867
+
 
7868
       /* A NULL pointer-to-data-member is represented by -1, not by
 
7869
         zero.  */
 
7870
       tree val = (TYPE_PTRDATAMEM_P (type)
 
7871
Index: gcc/mode-switching.c
 
7872
===================================================================
 
7873
--- a/src/gcc/mode-switching.c  (.../tags/gcc_4_8_2_release)
 
7874
+++ b/src/gcc/mode-switching.c  (.../branches/gcc-4_8-branch)
 
7875
@@ -568,12 +568,15 @@
 
7876
 
 
7877
          info[bb->index].computing = last_mode;
 
7878
          /* Check for blocks without ANY mode requirements.
 
7879
-            N.B. because of MODE_AFTER, last_mode might still be different
 
7880
-            from no_mode.  */
 
7881
+            N.B. because of MODE_AFTER, last_mode might still
 
7882
+            be different from no_mode, in which case we need to
 
7883
+            mark the block as nontransparent.  */
 
7884
          if (!any_set_required)
 
7885
            {
 
7886
              ptr = new_seginfo (no_mode, BB_END (bb), bb->index, live_now);
 
7887
              add_seginfo (info + bb->index, ptr);
 
7888
+             if (last_mode != no_mode)
 
7889
+               bitmap_clear_bit (transp[bb->index], j);
 
7890
            }
 
7891
        }
 
7892
 #if defined (MODE_ENTRY) && defined (MODE_EXIT)
 
7893
Index: gcc/expr.c
 
7894
===================================================================
 
7895
--- a/src/gcc/expr.c    (.../tags/gcc_4_8_2_release)
 
7896
+++ b/src/gcc/expr.c    (.../branches/gcc-4_8-branch)
 
7897
@@ -4551,19 +4551,19 @@
 
7898
                - tree_low_cst (DECL_FIELD_BIT_OFFSET (repr), 1));
 
7899
 
 
7900
   /* If the adjustment is larger than bitpos, we would have a negative bit
 
7901
-     position for the lower bound and this may wreak havoc later.  This can
 
7902
-     occur only if we have a non-null offset, so adjust offset and bitpos
 
7903
-     to make the lower bound non-negative.  */
 
7904
+     position for the lower bound and this may wreak havoc later.  Adjust
 
7905
+     offset and bitpos to make the lower bound non-negative in that case.  */
 
7906
   if (bitoffset > *bitpos)
 
7907
     {
 
7908
       HOST_WIDE_INT adjust = bitoffset - *bitpos;
 
7909
-
 
7910
       gcc_assert ((adjust % BITS_PER_UNIT) == 0);
 
7911
-      gcc_assert (*offset != NULL_TREE);
 
7912
 
 
7913
       *bitpos += adjust;
 
7914
-      *offset
 
7915
-       = size_binop (MINUS_EXPR, *offset, size_int (adjust / BITS_PER_UNIT));
 
7916
+      if (*offset == NULL_TREE)
 
7917
+       *offset = size_int (-adjust / BITS_PER_UNIT);
 
7918
+      else
 
7919
+       *offset
 
7920
+         = size_binop (MINUS_EXPR, *offset, size_int (adjust / BITS_PER_UNIT));
 
7921
       *bitstart = 0;
 
7922
     }
 
7923
   else
 
7924
@@ -4698,6 +4698,15 @@
 
7925
       tem = get_inner_reference (to, &bitsize, &bitpos, &offset, &mode1,
 
7926
                                 &unsignedp, &volatilep, true);
 
7927
 
 
7928
+      /* Make sure bitpos is not negative, it can wreak havoc later.  */
 
7929
+      if (bitpos < 0)
 
7930
+       {
 
7931
+         gcc_assert (offset == NULL_TREE);
 
7932
+         offset = size_int (bitpos >> (BITS_PER_UNIT == 8
 
7933
+                                       ? 3 : exact_log2 (BITS_PER_UNIT)));
 
7934
+         bitpos &= BITS_PER_UNIT - 1;
 
7935
+       }
 
7936
+
 
7937
       if (TREE_CODE (to) == COMPONENT_REF
 
7938
          && DECL_BIT_FIELD_TYPE (TREE_OPERAND (to, 1)))
 
7939
        get_bit_range (&bitregion_start, &bitregion_end, to, &bitpos, &offset);
 
7940
Index: gcc/go/go-gcc.cc
 
7941
===================================================================
 
7942
--- a/src/gcc/go/go-gcc.cc      (.../tags/gcc_4_8_2_release)
 
7943
+++ b/src/gcc/go/go-gcc.cc      (.../branches/gcc-4_8-branch)
 
7944
@@ -232,6 +232,9 @@
 
7945
   Bexpression*
 
7946
   convert_expression(Btype* type, Bexpression* expr, Location);
 
7947
 
 
7948
+  Bexpression*
 
7949
+  function_code_expression(Bfunction*, Location);
 
7950
+
 
7951
   // Statements.
 
7952
 
 
7953
   Bstatement*
 
7954
@@ -334,6 +337,17 @@
 
7955
   Bexpression*
 
7956
   label_address(Blabel*, Location);
 
7957
 
 
7958
+  // Functions.
 
7959
+
 
7960
+  Bfunction*
 
7961
+  error_function()
 
7962
+  { return this->make_function(error_mark_node); }
 
7963
+
 
7964
+  Bfunction*
 
7965
+  function(Btype* fntype, const std::string& name, const std::string& asm_name,
 
7966
+           bool is_visible, bool is_declaration, bool is_inlinable,
 
7967
+           bool disable_split_stack, bool in_unique_section, Location);
 
7968
+
 
7969
  private:
 
7970
   // Make a Bexpression from a tree.
 
7971
   Bexpression*
 
7972
@@ -350,6 +364,10 @@
 
7973
   make_type(tree t)
 
7974
   { return new Btype(t); }
 
7975
 
 
7976
+  Bfunction*
 
7977
+  make_function(tree t)
 
7978
+  { return new Bfunction(t); }
 
7979
+
 
7980
   Btype*
 
7981
   fill_in_struct(Btype*, const std::vector<Btyped_identifier>&);
 
7982
 
 
7983
@@ -966,6 +984,19 @@
 
7984
   return tree_to_expr(ret);
 
7985
 }
 
7986
 
 
7987
+// Get the address of a function.
 
7988
+
 
7989
+Bexpression*
 
7990
+Gcc_backend::function_code_expression(Bfunction* bfunc, Location location)
 
7991
+{
 
7992
+  tree func = bfunc->get_tree();
 
7993
+  if (func == error_mark_node)
 
7994
+    return this->error_expression();
 
7995
+
 
7996
+  tree ret = build_fold_addr_expr_loc(location.gcc_location(), func);
 
7997
+  return this->make_expression(ret);
 
7998
+}
 
7999
+
 
8000
 // An expression as a statement.
 
8001
 
 
8002
 Bstatement*
 
8003
@@ -1724,6 +1755,56 @@
 
8004
   return this->make_expression(ret);
 
8005
 }
 
8006
 
 
8007
+// Declare or define a new function.
 
8008
+
 
8009
+Bfunction*
 
8010
+Gcc_backend::function(Btype* fntype, const std::string& name,
 
8011
+                      const std::string& asm_name, bool is_visible,
 
8012
+                      bool is_declaration, bool is_inlinable,
 
8013
+                      bool disable_split_stack, bool in_unique_section,
 
8014
+                      Location location)
 
8015
+{
 
8016
+  tree functype = fntype->get_tree();
 
8017
+  if (functype != error_mark_node)
 
8018
+    {
 
8019
+      gcc_assert(FUNCTION_POINTER_TYPE_P(functype));
 
8020
+      functype = TREE_TYPE(functype);
 
8021
+    }
 
8022
+  tree id = get_identifier_from_string(name);
 
8023
+  if (functype == error_mark_node || id == error_mark_node)
 
8024
+    return this->error_function();
 
8025
+
 
8026
+  tree decl = build_decl(location.gcc_location(), FUNCTION_DECL, id, functype);
 
8027
+  if (!asm_name.empty())
 
8028
+    SET_DECL_ASSEMBLER_NAME(decl, get_identifier_from_string(asm_name));
 
8029
+  if (is_visible)
 
8030
+    TREE_PUBLIC(decl) = 1;
 
8031
+  if (is_declaration)
 
8032
+    DECL_EXTERNAL(decl) = 1;
 
8033
+  else
 
8034
+    {
 
8035
+      tree restype = TREE_TYPE(functype);
 
8036
+      tree resdecl =
 
8037
+          build_decl(location.gcc_location(), RESULT_DECL, NULL_TREE, restype);
 
8038
+      DECL_ARTIFICIAL(resdecl) = 1;
 
8039
+      DECL_IGNORED_P(resdecl) = 1;
 
8040
+      DECL_CONTEXT(resdecl) = decl;
 
8041
+      DECL_RESULT(decl) = resdecl;
 
8042
+    }
 
8043
+  if (!is_inlinable)
 
8044
+    DECL_UNINLINABLE(decl) = 1;
 
8045
+  if (disable_split_stack)
 
8046
+    {
 
8047
+      tree attr = get_identifier("__no_split_stack__");
 
8048
+      DECL_ATTRIBUTES(decl) = tree_cons(attr, NULL_TREE, NULL_TREE);
 
8049
+    }
 
8050
+  if (in_unique_section)
 
8051
+    resolve_unique_section(decl, 0, 1);
 
8052
+
 
8053
+  go_preserve_from_gc(decl);
 
8054
+  return new Bfunction(decl);
 
8055
+}
 
8056
+
 
8057
 // The single backend.
 
8058
 
 
8059
 static Gcc_backend gcc_backend;
 
8060
@@ -1799,3 +1880,9 @@
 
8061
 {
 
8062
   return bv->get_tree();
 
8063
 }
 
8064
+
 
8065
+tree
 
8066
+function_to_tree(Bfunction* bf)
 
8067
+{
 
8068
+  return bf->get_tree();
 
8069
+}
 
8070
Index: gcc/go/ChangeLog
 
8071
===================================================================
 
8072
--- a/src/gcc/go/ChangeLog      (.../tags/gcc_4_8_2_release)
 
8073
+++ b/src/gcc/go/ChangeLog      (.../branches/gcc-4_8-branch)
 
8074
@@ -1,3 +1,17 @@
 
8075
+2013-10-16  Ian Lance Taylor  <iant@google.com>
 
8076
+
 
8077
+       Bring in from mainline:
 
8078
+
 
8079
+       2013-10-11  Chris Manghane  <cmang@google.com>
 
8080
+       * go-gcc.cc (Gcc_backend::function_code_expression): New
 
8081
+       function.
 
8082
+
 
8083
+       2013-10-10  Chris Manghane  <cmang@google.com>
 
8084
+       * go-gcc.cc (Backend::error_function): New function.
 
8085
+       (Backend::function): New function.
 
8086
+       (Backend::make_function): New function.
 
8087
+       (function_to_tree): New function.
 
8088
+
 
8089
 2013-10-16  Release Manager
 
8090
 
 
8091
        * GCC 4.8.2 released.
 
8092
Index: gcc/go/gofrontend/gogo.cc
 
8093
===================================================================
 
8094
--- a/src/gcc/go/gofrontend/gogo.cc     (.../tags/gcc_4_8_2_release)
 
8095
+++ b/src/gcc/go/gofrontend/gogo.cc     (.../branches/gcc-4_8-branch)
 
8096
@@ -3320,7 +3320,8 @@
 
8097
     closure_var_(NULL), block_(block), location_(location), labels_(),
 
8098
     local_type_count_(0), descriptor_(NULL), fndecl_(NULL), defer_stack_(NULL),
 
8099
     is_sink_(false), results_are_named_(false), nointerface_(false),
 
8100
-    calls_recover_(false), is_recover_thunk_(false), has_recover_thunk_(false),
 
8101
+    is_unnamed_type_stub_method_(false), calls_recover_(false),
 
8102
+    is_recover_thunk_(false), has_recover_thunk_(false),
 
8103
     in_unique_section_(false)
 
8104
 {
 
8105
 }
 
8106
@@ -3819,6 +3820,81 @@
 
8107
   *presults = results;
 
8108
 }
 
8109
 
 
8110
+// Get the backend representation.
 
8111
+
 
8112
+Bfunction*
 
8113
+Function::get_or_make_decl(Gogo* gogo, Named_object* no)
 
8114
+{
 
8115
+  if (this->fndecl_ == NULL)
 
8116
+    {
 
8117
+      std::string asm_name;
 
8118
+      bool is_visible = false;
 
8119
+      if (no->package() != NULL)
 
8120
+        ;
 
8121
+      else if (this->enclosing_ != NULL || Gogo::is_thunk(no))
 
8122
+        ;
 
8123
+      else if (Gogo::unpack_hidden_name(no->name()) == "init"
 
8124
+               && !this->type_->is_method())
 
8125
+        ;
 
8126
+      else if (Gogo::unpack_hidden_name(no->name()) == "main"
 
8127
+               && gogo->is_main_package())
 
8128
+        is_visible = true;
 
8129
+      // Methods have to be public even if they are hidden because
 
8130
+      // they can be pulled into type descriptors when using
 
8131
+      // anonymous fields.
 
8132
+      else if (!Gogo::is_hidden_name(no->name())
 
8133
+               || this->type_->is_method())
 
8134
+        {
 
8135
+         if (!this->is_unnamed_type_stub_method_)
 
8136
+           is_visible = true;
 
8137
+          std::string pkgpath = gogo->pkgpath_symbol();
 
8138
+          if (this->type_->is_method()
 
8139
+              && Gogo::is_hidden_name(no->name())
 
8140
+              && Gogo::hidden_name_pkgpath(no->name()) != gogo->pkgpath())
 
8141
+            {
 
8142
+              // This is a method we created for an unexported
 
8143
+              // method of an imported embedded type.  We need to
 
8144
+              // use the pkgpath of the imported package to avoid
 
8145
+              // a possible name collision.  See bug478 for a test
 
8146
+              // case.
 
8147
+              pkgpath = Gogo::hidden_name_pkgpath(no->name());
 
8148
+              pkgpath = Gogo::pkgpath_for_symbol(pkgpath);
 
8149
+            }
 
8150
+
 
8151
+          asm_name = pkgpath;
 
8152
+          asm_name.append(1, '.');
 
8153
+          asm_name.append(Gogo::unpack_hidden_name(no->name()));
 
8154
+          if (this->type_->is_method())
 
8155
+            {
 
8156
+              asm_name.append(1, '.');
 
8157
+              Type* rtype = this->type_->receiver()->type();
 
8158
+              asm_name.append(rtype->mangled_name(gogo));
 
8159
+            }
 
8160
+        }
 
8161
+
 
8162
+      // If a function calls the predeclared recover function, we
 
8163
+      // can't inline it, because recover behaves differently in a
 
8164
+      // function passed directly to defer.  If this is a recover
 
8165
+      // thunk that we built to test whether a function can be
 
8166
+      // recovered, we can't inline it, because that will mess up
 
8167
+      // our return address comparison.
 
8168
+      bool is_inlinable = !(this->calls_recover_ || this->is_recover_thunk_);
 
8169
+
 
8170
+      // If this is a thunk created to call a function which calls
 
8171
+      // the predeclared recover function, we need to disable
 
8172
+      // stack splitting for the thunk.
 
8173
+      bool disable_split_stack = this->is_recover_thunk_;
 
8174
+
 
8175
+      Btype* functype = this->type_->get_backend_fntype(gogo);
 
8176
+      this->fndecl_ =
 
8177
+          gogo->backend()->function(functype, no->get_id(gogo), asm_name,
 
8178
+                                    is_visible, false, is_inlinable,
 
8179
+                                    disable_split_stack,
 
8180
+                                    this->in_unique_section_, this->location());
 
8181
+    }
 
8182
+  return this->fndecl_;
 
8183
+}
 
8184
+
 
8185
 // Class Block.
 
8186
 
 
8187
 Block::Block(Block* enclosing, Location location)
 
8188
@@ -5110,6 +5186,75 @@
 
8189
     go_unreachable();
 
8190
 }
 
8191
 
 
8192
+
 
8193
+// Return the external identifier for this object.
 
8194
+
 
8195
+std::string
 
8196
+Named_object::get_id(Gogo* gogo)
 
8197
+{
 
8198
+  go_assert(!this->is_variable() && !this->is_result_variable());
 
8199
+  std::string decl_name;
 
8200
+  if (this->is_function_declaration()
 
8201
+      && !this->func_declaration_value()->asm_name().empty())
 
8202
+    decl_name = this->func_declaration_value()->asm_name();
 
8203
+  else if (this->is_type()
 
8204
+          && Linemap::is_predeclared_location(this->type_value()->location()))
 
8205
+    {
 
8206
+      // We don't need the package name for builtin types.
 
8207
+      decl_name = Gogo::unpack_hidden_name(this->name_);
 
8208
+    }
 
8209
+  else
 
8210
+    {
 
8211
+      std::string package_name;
 
8212
+      if (this->package_ == NULL)
 
8213
+       package_name = gogo->package_name();
 
8214
+      else
 
8215
+       package_name = this->package_->package_name();
 
8216
+
 
8217
+      // Note that this will be misleading if this is an unexported
 
8218
+      // method generated for an embedded imported type.  In that case
 
8219
+      // the unexported method should have the package name of the
 
8220
+      // package from which it is imported, but we are going to give
 
8221
+      // it our package name.  Fixing this would require knowing the
 
8222
+      // package name, but we only know the package path.  It might be
 
8223
+      // better to use package paths here anyhow.  This doesn't affect
 
8224
+      // the assembler code, because we always set that name in
 
8225
+      // Function::get_or_make_decl anyhow.  FIXME.
 
8226
+
 
8227
+      decl_name = package_name + '.' + Gogo::unpack_hidden_name(this->name_);
 
8228
+
 
8229
+      Function_type* fntype;
 
8230
+      if (this->is_function())
 
8231
+       fntype = this->func_value()->type();
 
8232
+      else if (this->is_function_declaration())
 
8233
+       fntype = this->func_declaration_value()->type();
 
8234
+      else
 
8235
+       fntype = NULL;
 
8236
+      if (fntype != NULL && fntype->is_method())
 
8237
+       {
 
8238
+         decl_name.push_back('.');
 
8239
+         decl_name.append(fntype->receiver()->type()->mangled_name(gogo));
 
8240
+       }
 
8241
+    }
 
8242
+  if (this->is_type())
 
8243
+    {
 
8244
+      unsigned int index;
 
8245
+      const Named_object* in_function = this->type_value()->in_function(&index);
 
8246
+      if (in_function != NULL)
 
8247
+       {
 
8248
+         decl_name += '$' + Gogo::unpack_hidden_name(in_function->name());
 
8249
+         if (index > 0)
 
8250
+           {
 
8251
+             char buf[30];
 
8252
+             snprintf(buf, sizeof buf, "%u", index);
 
8253
+             decl_name += '$';
 
8254
+             decl_name += buf;
 
8255
+           }
 
8256
+       }
 
8257
+    }
 
8258
+  return decl_name;
 
8259
+}
 
8260
+
 
8261
 // Class Bindings.
 
8262
 
 
8263
 Bindings::Bindings(Bindings* enclosing)
 
8264
Index: gcc/go/gofrontend/runtime.def
 
8265
===================================================================
 
8266
--- a/src/gcc/go/gofrontend/runtime.def (.../tags/gcc_4_8_2_release)
 
8267
+++ b/src/gcc/go/gofrontend/runtime.def (.../branches/gcc-4_8-branch)
 
8268
@@ -68,6 +68,12 @@
 
8269
               P1(STRING), R1(SLICE))
 
8270
 
 
8271
 
 
8272
+// Complex division.
 
8273
+DEF_GO_RUNTIME(COMPLEX64_DIV, "__go_complex64_div",
 
8274
+              P2(COMPLEX64, COMPLEX64), R1(COMPLEX64))
 
8275
+DEF_GO_RUNTIME(COMPLEX128_DIV, "__go_complex128_div",
 
8276
+              P2(COMPLEX128, COMPLEX128), R1(COMPLEX128))
 
8277
+
 
8278
 // Make a slice.
 
8279
 DEF_GO_RUNTIME(MAKESLICE1, "__go_make_slice1", P2(TYPE, UINTPTR), R1(SLICE))
 
8280
 DEF_GO_RUNTIME(MAKESLICE2, "__go_make_slice2", P3(TYPE, UINTPTR, UINTPTR),
 
8281
Index: gcc/go/gofrontend/gogo.h
 
8282
===================================================================
 
8283
--- a/src/gcc/go/gofrontend/gogo.h      (.../tags/gcc_4_8_2_release)
 
8284
+++ b/src/gcc/go/gofrontend/gogo.h      (.../branches/gcc-4_8-branch)
 
8285
@@ -48,6 +48,7 @@
 
8286
 class Bblock;
 
8287
 class Bvariable;
 
8288
 class Blabel;
 
8289
+class Bfunction;
 
8290
 
 
8291
 // This file declares the basic classes used to hold the internal
 
8292
 // representation of Go which is built by the parser.
 
8293
@@ -952,6 +953,15 @@
 
8294
     this->nointerface_ = true;
 
8295
   }
 
8296
 
 
8297
+  // Record that this function is a stub method created for an unnamed
 
8298
+  // type.
 
8299
+  void
 
8300
+  set_is_unnamed_type_stub_method()
 
8301
+  {
 
8302
+    go_assert(this->is_method());
 
8303
+    this->is_unnamed_type_stub_method_ = true;
 
8304
+  }
 
8305
+
 
8306
   // Add a new field to the closure variable.
 
8307
   void
 
8308
   add_closure_field(Named_object* var, Location loc)
 
8309
@@ -1089,17 +1099,13 @@
 
8310
     this->descriptor_ = descriptor;
 
8311
   }
 
8312
 
 
8313
-  // Return the function's decl given an identifier.
 
8314
-  tree
 
8315
-  get_or_make_decl(Gogo*, Named_object*, tree id);
 
8316
+  // Return the backend representation.
 
8317
+  Bfunction*
 
8318
+  get_or_make_decl(Gogo*, Named_object*);
 
8319
 
 
8320
   // Return the function's decl after it has been built.
 
8321
   tree
 
8322
-  get_decl() const
 
8323
-  {
 
8324
-    go_assert(this->fndecl_ != NULL);
 
8325
-    return this->fndecl_;
 
8326
-  }
 
8327
+  get_decl() const;
 
8328
 
 
8329
   // Set the function decl to hold a tree of the function code.
 
8330
   void
 
8331
@@ -1170,7 +1176,7 @@
 
8332
   // The function descriptor, if any.
 
8333
   Expression* descriptor_;
 
8334
   // The function decl.
 
8335
-  tree fndecl_;
 
8336
+  Bfunction* fndecl_;
 
8337
   // The defer stack variable.  A pointer to this variable is used to
 
8338
   // distinguish the defer stack for one function from another.  This
 
8339
   // is NULL unless we actually need a defer stack.
 
8340
@@ -1181,6 +1187,9 @@
 
8341
   bool results_are_named_ : 1;
 
8342
   // True if this method should not be included in the type descriptor.
 
8343
   bool nointerface_ : 1;
 
8344
+  // True if this function is a stub method created for an unnamed
 
8345
+  // type.
 
8346
+  bool is_unnamed_type_stub_method_ : 1;
 
8347
   // True if this function calls the predeclared recover function.
 
8348
   bool calls_recover_ : 1;
 
8349
   // True if this a thunk built for a function which calls recover.
 
8350
@@ -1265,9 +1274,9 @@
 
8351
   has_descriptor() const
 
8352
   { return this->descriptor_ != NULL; }
 
8353
 
 
8354
-  // Return a decl for the function given an identifier.
 
8355
-  tree
 
8356
-  get_or_make_decl(Gogo*, Named_object*, tree id);
 
8357
+  // Return a backend representation.
 
8358
+  Bfunction*
 
8359
+  get_or_make_decl(Gogo*, Named_object*);
 
8360
 
 
8361
   // If there is a descriptor, build it into the backend
 
8362
   // representation.
 
8363
@@ -1290,7 +1299,7 @@
 
8364
   // The function descriptor, if any.
 
8365
   Expression* descriptor_;
 
8366
   // The function decl if needed.
 
8367
-  tree fndecl_;
 
8368
+  Bfunction* fndecl_;
 
8369
 };
 
8370
 
 
8371
 // A variable.
 
8372
@@ -2181,8 +2190,8 @@
 
8373
   Bvariable*
 
8374
   get_backend_variable(Gogo*, Named_object* function);
 
8375
 
 
8376
-  // Return a tree for the external identifier for this object.
 
8377
-  tree
 
8378
+  // Return the external identifier for this object.
 
8379
+  std::string
 
8380
   get_id(Gogo*);
 
8381
 
 
8382
   // Return a tree representing this object.
 
8383
Index: gcc/go/gofrontend/types.h
 
8384
===================================================================
 
8385
--- a/src/gcc/go/gofrontend/types.h     (.../tags/gcc_4_8_2_release)
 
8386
+++ b/src/gcc/go/gofrontend/types.h     (.../branches/gcc-4_8-branch)
 
8387
@@ -1717,7 +1717,8 @@
 
8388
                Typed_identifier_list* results, Location location)
 
8389
     : Type(TYPE_FUNCTION),
 
8390
       receiver_(receiver), parameters_(parameters), results_(results),
 
8391
-      location_(location), is_varargs_(false), is_builtin_(false)
 
8392
+      location_(location), is_varargs_(false), is_builtin_(false),
 
8393
+      fnbtype_(NULL)
 
8394
   { }
 
8395
 
 
8396
   // Get the receiver.
 
8397
@@ -1798,6 +1799,11 @@
 
8398
   static Type*
 
8399
   make_function_type_descriptor_type();
 
8400
 
 
8401
+  // Return the backend representation of this function type. This is used
 
8402
+  // as the real type of a backend function declaration or defintion.
 
8403
+  Btype*
 
8404
+  get_backend_fntype(Gogo*);
 
8405
+
 
8406
  protected:
 
8407
   int
 
8408
   do_traverse(Traverse*);
 
8409
@@ -1851,6 +1857,9 @@
 
8410
   // Whether this is a special builtin function which can not simply
 
8411
   // be called.  This is used for len, cap, etc.
 
8412
   bool is_builtin_;
 
8413
+  // The backend representation of this type for backend function
 
8414
+  // declarations and definitions.
 
8415
+  Btype* fnbtype_;
 
8416
 };
 
8417
 
 
8418
 // The type of a pointer.
 
8419
@@ -1915,7 +1924,7 @@
 
8420
 {
 
8421
  public:
 
8422
   explicit Struct_field(const Typed_identifier& typed_identifier)
 
8423
-    : typed_identifier_(typed_identifier), tag_(NULL)
 
8424
+    : typed_identifier_(typed_identifier), tag_(NULL), is_imported_(false)
 
8425
   { }
 
8426
 
 
8427
   // The field name.
 
8428
@@ -1926,6 +1935,10 @@
 
8429
   bool
 
8430
   is_field_name(const std::string& name) const;
 
8431
 
 
8432
+  // Return whether this struct field is an unexported field named NAME.
 
8433
+  bool
 
8434
+  is_unexported_field_name(Gogo*, const std::string& name) const;
 
8435
+
 
8436
   // Return whether this struct field is an embedded built-in type.
 
8437
   bool
 
8438
   is_embedded_builtin(Gogo*) const;
 
8439
@@ -1963,6 +1976,11 @@
 
8440
   set_tag(const std::string& tag)
 
8441
   { this->tag_ = new std::string(tag); }
 
8442
 
 
8443
+  // Record that this field is defined in an imported struct.
 
8444
+  void
 
8445
+  set_is_imported()
 
8446
+  { this->is_imported_ = true; }
 
8447
+
 
8448
   // Set the type.  This is only used in error cases.
 
8449
   void
 
8450
   set_type(Type* type)
 
8451
@@ -1973,6 +1991,8 @@
 
8452
   Typed_identifier typed_identifier_;
 
8453
   // The field tag.  This is NULL if the field has no tag.
 
8454
   std::string* tag_;
 
8455
+  // Whether this field is defined in an imported struct.
 
8456
+  bool is_imported_;
 
8457
 };
 
8458
 
 
8459
 // A list of struct fields.
 
8460
Index: gcc/go/gofrontend/parse.cc
 
8461
===================================================================
 
8462
--- a/src/gcc/go/gofrontend/parse.cc    (.../tags/gcc_4_8_2_release)
 
8463
+++ b/src/gcc/go/gofrontend/parse.cc    (.../branches/gcc-4_8-branch)
 
8464
@@ -744,6 +744,8 @@
 
8465
     return NULL;
 
8466
 
 
8467
   Parse::Names names;
 
8468
+  if (receiver != NULL)
 
8469
+    names[receiver->name()] = receiver;
 
8470
   if (params != NULL)
 
8471
     this->check_signature_names(params, &names);
 
8472
   if (results != NULL)
 
8473
Index: gcc/go/gofrontend/import.h
 
8474
===================================================================
 
8475
--- a/src/gcc/go/gofrontend/import.h    (.../tags/gcc_4_8_2_release)
 
8476
+++ b/src/gcc/go/gofrontend/import.h    (.../branches/gcc-4_8-branch)
 
8477
@@ -149,6 +149,11 @@
 
8478
   location() const
 
8479
   { return this->location_; }
 
8480
 
 
8481
+  // Return the package we are importing.
 
8482
+  Package*
 
8483
+  package() const
 
8484
+  { return this->package_; }
 
8485
+
 
8486
   // Return the next character.
 
8487
   int
 
8488
   peek_char()
 
8489
Index: gcc/go/gofrontend/runtime.cc
 
8490
===================================================================
 
8491
--- a/src/gcc/go/gofrontend/runtime.cc  (.../tags/gcc_4_8_2_release)
 
8492
+++ b/src/gcc/go/gofrontend/runtime.cc  (.../branches/gcc-4_8-branch)
 
8493
@@ -42,6 +42,8 @@
 
8494
   RFT_RUNE,
 
8495
   // Go type float64, C type double.
 
8496
   RFT_FLOAT64,
 
8497
+  // Go type complex64, C type __complex float.
 
8498
+  RFT_COMPLEX64,
 
8499
   // Go type complex128, C type __complex double.
 
8500
   RFT_COMPLEX128,
 
8501
   // Go type string, C type struct __go_string.
 
8502
@@ -126,6 +128,10 @@
 
8503
          t = Type::lookup_float_type("float64");
 
8504
          break;
 
8505
 
 
8506
+       case RFT_COMPLEX64:
 
8507
+         t = Type::lookup_complex_type("complex64");
 
8508
+         break;
 
8509
+
 
8510
        case RFT_COMPLEX128:
 
8511
          t = Type::lookup_complex_type("complex128");
 
8512
          break;
 
8513
@@ -216,6 +222,7 @@
 
8514
     case RFT_UINTPTR:
 
8515
     case RFT_RUNE:
 
8516
     case RFT_FLOAT64:
 
8517
+    case RFT_COMPLEX64:
 
8518
     case RFT_COMPLEX128:
 
8519
     case RFT_STRING:
 
8520
     case RFT_POINTER:
 
8521
Index: gcc/go/gofrontend/expressions.h
 
8522
===================================================================
 
8523
--- a/src/gcc/go/gofrontend/expressions.h       (.../tags/gcc_4_8_2_release)
 
8524
+++ b/src/gcc/go/gofrontend/expressions.h       (.../branches/gcc-4_8-branch)
 
8525
@@ -1514,8 +1514,8 @@
 
8526
   closure()
 
8527
   { return this->closure_; }
 
8528
 
 
8529
-  // Return a tree for the code for a function.
 
8530
-  static tree
 
8531
+  // Return a backend expression for the code of a function.
 
8532
+  static Bexpression*
 
8533
   get_code_pointer(Gogo*, Named_object* function, Location loc);
 
8534
 
 
8535
  protected:
 
8536
Index: gcc/go/gofrontend/gogo-tree.cc
 
8537
===================================================================
 
8538
--- a/src/gcc/go/gofrontend/gogo-tree.cc        (.../tags/gcc_4_8_2_release)
 
8539
+++ b/src/gcc/go/gofrontend/gogo-tree.cc        (.../branches/gcc-4_8-branch)
 
8540
@@ -985,74 +985,6 @@
 
8541
   delete[] vec;
 
8542
 }
 
8543
 
 
8544
-// Get a tree for the identifier for a named object.
 
8545
-
 
8546
-tree
 
8547
-Named_object::get_id(Gogo* gogo)
 
8548
-{
 
8549
-  go_assert(!this->is_variable() && !this->is_result_variable());
 
8550
-  std::string decl_name;
 
8551
-  if (this->is_function_declaration()
 
8552
-      && !this->func_declaration_value()->asm_name().empty())
 
8553
-    decl_name = this->func_declaration_value()->asm_name();
 
8554
-  else if (this->is_type()
 
8555
-          && Linemap::is_predeclared_location(this->type_value()->location()))
 
8556
-    {
 
8557
-      // We don't need the package name for builtin types.
 
8558
-      decl_name = Gogo::unpack_hidden_name(this->name_);
 
8559
-    }
 
8560
-  else
 
8561
-    {
 
8562
-      std::string package_name;
 
8563
-      if (this->package_ == NULL)
 
8564
-       package_name = gogo->package_name();
 
8565
-      else
 
8566
-       package_name = this->package_->package_name();
 
8567
-
 
8568
-      // Note that this will be misleading if this is an unexported
 
8569
-      // method generated for an embedded imported type.  In that case
 
8570
-      // the unexported method should have the package name of the
 
8571
-      // package from which it is imported, but we are going to give
 
8572
-      // it our package name.  Fixing this would require knowing the
 
8573
-      // package name, but we only know the package path.  It might be
 
8574
-      // better to use package paths here anyhow.  This doesn't affect
 
8575
-      // the assembler code, because we always set that name in
 
8576
-      // Function::get_or_make_decl anyhow.  FIXME.
 
8577
-
 
8578
-      decl_name = package_name + '.' + Gogo::unpack_hidden_name(this->name_);
 
8579
-
 
8580
-      Function_type* fntype;
 
8581
-      if (this->is_function())
 
8582
-       fntype = this->func_value()->type();
 
8583
-      else if (this->is_function_declaration())
 
8584
-       fntype = this->func_declaration_value()->type();
 
8585
-      else
 
8586
-       fntype = NULL;
 
8587
-      if (fntype != NULL && fntype->is_method())
 
8588
-       {
 
8589
-         decl_name.push_back('.');
 
8590
-         decl_name.append(fntype->receiver()->type()->mangled_name(gogo));
 
8591
-       }
 
8592
-    }
 
8593
-  if (this->is_type())
 
8594
-    {
 
8595
-      unsigned int index;
 
8596
-      const Named_object* in_function = this->type_value()->in_function(&index);
 
8597
-      if (in_function != NULL)
 
8598
-       {
 
8599
-         decl_name += '$' + Gogo::unpack_hidden_name(in_function->name());
 
8600
-         if (index > 0)
 
8601
-           {
 
8602
-             char buf[30];
 
8603
-             snprintf(buf, sizeof buf, "%u", index);
 
8604
-             decl_name += '$';
 
8605
-             decl_name += buf;
 
8606
-           }
 
8607
-       }
 
8608
-    }
 
8609
-  return get_identifier_from_string(decl_name);
 
8610
-}
 
8611
-
 
8612
 // Get a tree for a named object.
 
8613
 
 
8614
 tree
 
8615
@@ -1067,11 +999,6 @@
 
8616
       return error_mark_node;
 
8617
     }
 
8618
 
 
8619
-  tree name;
 
8620
-  if (this->classification_ == NAMED_OBJECT_TYPE)
 
8621
-    name = NULL_TREE;
 
8622
-  else
 
8623
-    name = this->get_id(gogo);
 
8624
   tree decl;
 
8625
   switch (this->classification_)
 
8626
     {
 
8627
@@ -1099,6 +1026,7 @@
 
8628
              decl = error_mark_node;
 
8629
            else if (INTEGRAL_TYPE_P(TREE_TYPE(expr_tree)))
 
8630
              {
 
8631
+                tree name = get_identifier_from_string(this->get_id(gogo));
 
8632
                decl = build_decl(named_constant->location().gcc_location(),
 
8633
                                   CONST_DECL, name, TREE_TYPE(expr_tree));
 
8634
                DECL_INITIAL(decl) = expr_tree;
 
8635
@@ -1161,7 +1089,7 @@
 
8636
     case NAMED_OBJECT_FUNC:
 
8637
       {
 
8638
        Function* func = this->u_.func_value;
 
8639
-       decl = func->get_or_make_decl(gogo, this, name);
 
8640
+       decl = function_to_tree(func->get_or_make_decl(gogo, this));
 
8641
        if (decl != error_mark_node)
 
8642
          {
 
8643
            if (func->block() != NULL)
 
8644
@@ -1286,124 +1214,13 @@
 
8645
   return block_tree;
 
8646
 }
 
8647
 
 
8648
-// Get a tree for a function decl.
 
8649
+// Get the backend representation.
 
8650
 
 
8651
-tree
 
8652
-Function::get_or_make_decl(Gogo* gogo, Named_object* no, tree id)
 
8653
+Bfunction*
 
8654
+Function_declaration::get_or_make_decl(Gogo* gogo, Named_object* no)
 
8655
 {
 
8656
-  if (this->fndecl_ == NULL_TREE)
 
8657
+  if (this->fndecl_ == NULL)
 
8658
     {
 
8659
-      tree functype = type_to_tree(this->type_->get_backend(gogo));
 
8660
-
 
8661
-      if (functype != error_mark_node)
 
8662
-       {
 
8663
-         // The type of a function comes back as a pointer to a
 
8664
-         // struct whose first field is the function, but we want the
 
8665
-         // real function type for a function declaration.
 
8666
-         go_assert(POINTER_TYPE_P(functype)
 
8667
-                   && TREE_CODE(TREE_TYPE(functype)) == RECORD_TYPE);
 
8668
-         functype = TREE_TYPE(TYPE_FIELDS(TREE_TYPE(functype)));
 
8669
-         go_assert(FUNCTION_POINTER_TYPE_P(functype));
 
8670
-         functype = TREE_TYPE(functype);
 
8671
-       }
 
8672
-
 
8673
-      if (functype == error_mark_node)
 
8674
-       this->fndecl_ = error_mark_node;
 
8675
-      else
 
8676
-       {
 
8677
-         tree decl = build_decl(this->location().gcc_location(), FUNCTION_DECL,
 
8678
-                                 id, functype);
 
8679
-
 
8680
-         this->fndecl_ = decl;
 
8681
-
 
8682
-         if (no->package() != NULL)
 
8683
-           ;
 
8684
-         else if (this->enclosing_ != NULL || Gogo::is_thunk(no))
 
8685
-           ;
 
8686
-         else if (Gogo::unpack_hidden_name(no->name()) == "init"
 
8687
-                  && !this->type_->is_method())
 
8688
-           ;
 
8689
-         else if (Gogo::unpack_hidden_name(no->name()) == "main"
 
8690
-                  && gogo->is_main_package())
 
8691
-           TREE_PUBLIC(decl) = 1;
 
8692
-         // Methods have to be public even if they are hidden because
 
8693
-         // they can be pulled into type descriptors when using
 
8694
-         // anonymous fields.
 
8695
-         else if (!Gogo::is_hidden_name(no->name())
 
8696
-                  || this->type_->is_method())
 
8697
-           {
 
8698
-             TREE_PUBLIC(decl) = 1;
 
8699
-             std::string pkgpath = gogo->pkgpath_symbol();
 
8700
-             if (this->type_->is_method()
 
8701
-                 && Gogo::is_hidden_name(no->name())
 
8702
-                 && Gogo::hidden_name_pkgpath(no->name()) != gogo->pkgpath())
 
8703
-               {
 
8704
-                 // This is a method we created for an unexported
 
8705
-                 // method of an imported embedded type.  We need to
 
8706
-                 // use the pkgpath of the imported package to avoid
 
8707
-                 // a possible name collision.  See bug478 for a test
 
8708
-                 // case.
 
8709
-                 pkgpath = Gogo::hidden_name_pkgpath(no->name());
 
8710
-                 pkgpath = Gogo::pkgpath_for_symbol(pkgpath);
 
8711
-               }
 
8712
-
 
8713
-             std::string asm_name = pkgpath;
 
8714
-             asm_name.append(1, '.');
 
8715
-             asm_name.append(Gogo::unpack_hidden_name(no->name()));
 
8716
-             if (this->type_->is_method())
 
8717
-               {
 
8718
-                 asm_name.append(1, '.');
 
8719
-                 Type* rtype = this->type_->receiver()->type();
 
8720
-                 asm_name.append(rtype->mangled_name(gogo));
 
8721
-               }
 
8722
-             SET_DECL_ASSEMBLER_NAME(decl,
 
8723
-                                     get_identifier_from_string(asm_name));
 
8724
-           }
 
8725
-
 
8726
-         // Why do we have to do this in the frontend?
 
8727
-         tree restype = TREE_TYPE(functype);
 
8728
-         tree resdecl =
 
8729
-            build_decl(this->location().gcc_location(), RESULT_DECL, NULL_TREE,
 
8730
-                       restype);
 
8731
-         DECL_ARTIFICIAL(resdecl) = 1;
 
8732
-         DECL_IGNORED_P(resdecl) = 1;
 
8733
-         DECL_CONTEXT(resdecl) = decl;
 
8734
-         DECL_RESULT(decl) = resdecl;
 
8735
-
 
8736
-         // If a function calls the predeclared recover function, we
 
8737
-         // can't inline it, because recover behaves differently in a
 
8738
-         // function passed directly to defer.  If this is a recover
 
8739
-         // thunk that we built to test whether a function can be
 
8740
-         // recovered, we can't inline it, because that will mess up
 
8741
-         // our return address comparison.
 
8742
-         if (this->calls_recover_ || this->is_recover_thunk_)
 
8743
-           DECL_UNINLINABLE(decl) = 1;
 
8744
-
 
8745
-         // If this is a thunk created to call a function which calls
 
8746
-         // the predeclared recover function, we need to disable
 
8747
-         // stack splitting for the thunk.
 
8748
-         if (this->is_recover_thunk_)
 
8749
-           {
 
8750
-             tree attr = get_identifier("__no_split_stack__");
 
8751
-             DECL_ATTRIBUTES(decl) = tree_cons(attr, NULL_TREE, NULL_TREE);
 
8752
-           }
 
8753
-
 
8754
-         if (this->in_unique_section_)
 
8755
-           resolve_unique_section (decl, 0, 1);
 
8756
-
 
8757
-         go_preserve_from_gc(decl);
 
8758
-       }
 
8759
-    }
 
8760
-  return this->fndecl_;
 
8761
-}
 
8762
-
 
8763
-// Get a tree for a function declaration.
 
8764
-
 
8765
-tree
 
8766
-Function_declaration::get_or_make_decl(Gogo* gogo, Named_object* no, tree id)
 
8767
-{
 
8768
-  if (this->fndecl_ == NULL_TREE)
 
8769
-    {
 
8770
       // Let Go code use an asm declaration to pick up a builtin
 
8771
       // function.
 
8772
       if (!this->asm_name_.empty())
 
8773
@@ -1412,58 +1229,46 @@
 
8774
            builtin_functions.find(this->asm_name_);
 
8775
          if (p != builtin_functions.end())
 
8776
            {
 
8777
-             this->fndecl_ = p->second;
 
8778
+             this->fndecl_ = tree_to_function(p->second);
 
8779
              return this->fndecl_;
 
8780
            }
 
8781
        }
 
8782
 
 
8783
-      tree functype = type_to_tree(this->fntype_->get_backend(gogo));
 
8784
+      std::string asm_name;
 
8785
+      if (this->asm_name_.empty())
 
8786
+        {
 
8787
+          asm_name = (no->package() == NULL
 
8788
+                                  ? gogo->pkgpath_symbol()
 
8789
+                                  : no->package()->pkgpath_symbol());
 
8790
+          asm_name.append(1, '.');
 
8791
+          asm_name.append(Gogo::unpack_hidden_name(no->name()));
 
8792
+          if (this->fntype_->is_method())
 
8793
+            {
 
8794
+              asm_name.append(1, '.');
 
8795
+              Type* rtype = this->fntype_->receiver()->type();
 
8796
+              asm_name.append(rtype->mangled_name(gogo));
 
8797
+            }
 
8798
+        }
 
8799
 
 
8800
-      if (functype != error_mark_node)
 
8801
-       {
 
8802
-         // The type of a function comes back as a pointer to a
 
8803
-         // struct whose first field is the function, but we want the
 
8804
-         // real function type for a function declaration.
 
8805
-         go_assert(POINTER_TYPE_P(functype)
 
8806
-                   && TREE_CODE(TREE_TYPE(functype)) == RECORD_TYPE);
 
8807
-         functype = TREE_TYPE(TYPE_FIELDS(TREE_TYPE(functype)));
 
8808
-         go_assert(FUNCTION_POINTER_TYPE_P(functype));
 
8809
-         functype = TREE_TYPE(functype);
 
8810
-       }
 
8811
+      Btype* functype = this->fntype_->get_backend_fntype(gogo);
 
8812
+      this->fndecl_ =
 
8813
+          gogo->backend()->function(functype, no->get_id(gogo), asm_name,
 
8814
+                                    true, true, true, false, false,
 
8815
+                                    this->location());
 
8816
+    }
 
8817
 
 
8818
-      tree decl;
 
8819
-      if (functype == error_mark_node)
 
8820
-       decl = error_mark_node;
 
8821
-      else
 
8822
-       {
 
8823
-         decl = build_decl(this->location().gcc_location(), FUNCTION_DECL, id,
 
8824
-                            functype);
 
8825
-         TREE_PUBLIC(decl) = 1;
 
8826
-         DECL_EXTERNAL(decl) = 1;
 
8827
-
 
8828
-         if (this->asm_name_.empty())
 
8829
-           {
 
8830
-             std::string asm_name = (no->package() == NULL
 
8831
-                                     ? gogo->pkgpath_symbol()
 
8832
-                                     : no->package()->pkgpath_symbol());
 
8833
-             asm_name.append(1, '.');
 
8834
-             asm_name.append(Gogo::unpack_hidden_name(no->name()));
 
8835
-             if (this->fntype_->is_method())
 
8836
-               {
 
8837
-                 asm_name.append(1, '.');
 
8838
-                 Type* rtype = this->fntype_->receiver()->type();
 
8839
-                 asm_name.append(rtype->mangled_name(gogo));
 
8840
-               }
 
8841
-             SET_DECL_ASSEMBLER_NAME(decl,
 
8842
-                                     get_identifier_from_string(asm_name));
 
8843
-           }
 
8844
-       }
 
8845
-      this->fndecl_ = decl;
 
8846
-      go_preserve_from_gc(decl);
 
8847
-    }
 
8848
   return this->fndecl_;
 
8849
 }
 
8850
 
 
8851
+// Return the function's decl after it has been built.
 
8852
+
 
8853
+tree
 
8854
+Function::get_decl() const
 
8855
+{
 
8856
+  go_assert(this->fndecl_ != NULL);
 
8857
+  return function_to_tree(this->fndecl_);
 
8858
+}
 
8859
+
 
8860
 // We always pass the receiver to a method as a pointer.  If the
 
8861
 // receiver is actually declared as a non-pointer type, then we copy
 
8862
 // the value into a local variable, so that it has the right type.  In
 
8863
@@ -1558,7 +1363,7 @@
 
8864
 void
 
8865
 Function::build_tree(Gogo* gogo, Named_object* named_function)
 
8866
 {
 
8867
-  tree fndecl = this->fndecl_;
 
8868
+  tree fndecl = this->get_decl();
 
8869
   go_assert(fndecl != NULL_TREE);
 
8870
 
 
8871
   tree params = NULL_TREE;
 
8872
@@ -1796,7 +1601,7 @@
 
8873
     set = NULL_TREE;
 
8874
   else
 
8875
     set = fold_build2_loc(end_loc.gcc_location(), MODIFY_EXPR, void_type_node,
 
8876
-                         DECL_RESULT(this->fndecl_), retval);
 
8877
+                         DECL_RESULT(this->get_decl()), retval);
 
8878
   tree ret_stmt = fold_build1_loc(end_loc.gcc_location(), RETURN_EXPR,
 
8879
                                   void_type_node, set);
 
8880
   append_to_statement_list(ret_stmt, &stmt_list);
 
8881
@@ -1851,7 +1656,7 @@
 
8882
       retval = this->return_value(gogo, named_function, end_loc,
 
8883
                                  &stmt_list);
 
8884
       set = fold_build2_loc(end_loc.gcc_location(), MODIFY_EXPR, void_type_node,
 
8885
-                           DECL_RESULT(this->fndecl_), retval);
 
8886
+                           DECL_RESULT(this->get_decl()), retval);
 
8887
       ret_stmt = fold_build1_loc(end_loc.gcc_location(), RETURN_EXPR,
 
8888
                                  void_type_node, set);
 
8889
 
 
8890
@@ -1869,7 +1674,7 @@
 
8891
   *fini = stmt_list;
 
8892
 }
 
8893
 
 
8894
-// Return the value to assign to DECL_RESULT(this->fndecl_).  This may
 
8895
+// Return the value to assign to DECL_RESULT(this->get_decl()).  This may
 
8896
 // also add statements to STMT_LIST, which need to be executed before
 
8897
 // the assignment.  This is used for a return statement with no
 
8898
 // explicit values.
 
8899
@@ -1902,7 +1707,7 @@
 
8900
     }
 
8901
   else
 
8902
     {
 
8903
-      tree rettype = TREE_TYPE(DECL_RESULT(this->fndecl_));
 
8904
+      tree rettype = TREE_TYPE(DECL_RESULT(this->get_decl()));
 
8905
       retval = create_tmp_var(rettype, "RESULT");
 
8906
       tree field = TYPE_FIELDS(rettype);
 
8907
       int index = 0;
 
8908
@@ -2323,18 +2128,14 @@
 
8909
       go_assert(m != NULL);
 
8910
 
 
8911
       Named_object* no = m->named_object();
 
8912
-
 
8913
-      tree fnid = no->get_id(this);
 
8914
-
 
8915
-      tree fndecl;
 
8916
+      Bfunction* bf;
 
8917
       if (no->is_function())
 
8918
-       fndecl = no->func_value()->get_or_make_decl(this, no, fnid);
 
8919
+       bf = no->func_value()->get_or_make_decl(this, no);
 
8920
       else if (no->is_function_declaration())
 
8921
-       fndecl = no->func_declaration_value()->get_or_make_decl(this, no,
 
8922
-                                                               fnid);
 
8923
+       bf = no->func_declaration_value()->get_or_make_decl(this, no);
 
8924
       else
 
8925
        go_unreachable();
 
8926
-      fndecl = build_fold_addr_expr(fndecl);
 
8927
+      tree fndecl = build_fold_addr_expr(function_to_tree(bf));
 
8928
 
 
8929
       elt = pointers->quick_push(empty);
 
8930
       elt->index = size_int(i);
 
8931
@@ -2353,10 +2154,11 @@
 
8932
   TREE_CONSTANT(decl) = 1;
 
8933
   DECL_INITIAL(decl) = constructor;
 
8934
 
 
8935
-  // If the interface type has hidden methods, then this is the only
 
8936
-  // definition of the table.  Otherwise it is a comdat table which
 
8937
-  // may be defined in multiple packages.
 
8938
-  if (has_hidden_methods)
 
8939
+  // If the interface type has hidden methods, and the table is for a
 
8940
+  // named type, then this is the only definition of the table.
 
8941
+  // Otherwise it is a comdat table which may be defined in multiple
 
8942
+  // packages.
 
8943
+  if (has_hidden_methods && type->named_type() != NULL)
 
8944
     TREE_PUBLIC(decl) = 1;
 
8945
   else
 
8946
     {
 
8947
Index: gcc/go/gofrontend/lex.cc
 
8948
===================================================================
 
8949
--- a/src/gcc/go/gofrontend/lex.cc      (.../tags/gcc_4_8_2_release)
 
8950
+++ b/src/gcc/go/gofrontend/lex.cc      (.../branches/gcc-4_8-branch)
 
8951
@@ -873,7 +873,28 @@
 
8952
              && (cc < 'a' || cc > 'z')
 
8953
              && cc != '_'
 
8954
              && (cc < '0' || cc > '9'))
 
8955
-           break;
 
8956
+           {
 
8957
+             // Check for an invalid character here, as we get better
 
8958
+             // error behaviour if we swallow them as part of the
 
8959
+             // identifier we are building.
 
8960
+             if ((cc >= ' ' && cc < 0x7f)
 
8961
+                 || cc == '\t'
 
8962
+                 || cc == '\r'
 
8963
+                 || cc == '\n')
 
8964
+               break;
 
8965
+
 
8966
+             this->lineoff_ = p - this->linebuf_;
 
8967
+             error_at(this->location(),
 
8968
+                      "invalid character 0x%x in identifier",
 
8969
+                      cc);
 
8970
+             if (!has_non_ascii_char)
 
8971
+               {
 
8972
+                 buf.assign(pstart, p - pstart);
 
8973
+                 has_non_ascii_char = true;
 
8974
+               }
 
8975
+             if (!Lex::is_invalid_identifier(buf))
 
8976
+               buf.append("$INVALID$");
 
8977
+           }
 
8978
          ++p;
 
8979
          if (is_first)
 
8980
            {
 
8981
Index: gcc/go/gofrontend/backend.h
 
8982
===================================================================
 
8983
--- a/src/gcc/go/gofrontend/backend.h   (.../tags/gcc_4_8_2_release)
 
8984
+++ b/src/gcc/go/gofrontend/backend.h   (.../branches/gcc-4_8-branch)
 
8985
@@ -23,7 +23,7 @@
 
8986
 // The backend representation of a statement.
 
8987
 class Bstatement;
 
8988
 
 
8989
-// The backend representation of a function definition.
 
8990
+// The backend representation of a function definition or declaration.
 
8991
 class Bfunction;
 
8992
 
 
8993
 // The backend representation of a block.
 
8994
@@ -266,6 +266,11 @@
 
8995
   virtual Bexpression*
 
8996
   convert_expression(Btype* type, Bexpression* expr, Location) = 0;
 
8997
 
 
8998
+  // Create an expression for the address of a function.  This is used to
 
8999
+  // get the address of the code for a function.
 
9000
+  virtual Bexpression*
 
9001
+  function_code_expression(Bfunction*, Location) = 0;
 
9002
+
 
9003
   // Statements.
 
9004
 
 
9005
   // Create an error statement.  This is used for cases which should
 
9006
@@ -498,6 +503,32 @@
 
9007
   // recover.
 
9008
   virtual Bexpression*
 
9009
   label_address(Blabel*, Location) = 0;
 
9010
+
 
9011
+  // Functions.
 
9012
+
 
9013
+  // Create an error function.  This is used for cases which should
 
9014
+  // not occur in a correct program, in order to keep the compilation
 
9015
+  // going without crashing.
 
9016
+  virtual Bfunction*
 
9017
+  error_function() = 0;
 
9018
+
 
9019
+  // Declare or define a function of FNTYPE.
 
9020
+  // NAME is the Go name of the function. ASM_NAME, if not the empty string, is
 
9021
+  // the name that should be used in the symbol table; this will be non-empty if
 
9022
+  // a magic extern comment is used.
 
9023
+  // IS_VISIBLE is true if this function should be visible outside of the
 
9024
+  // current compilation unit. IS_DECLARATION is true if this is a function
 
9025
+  // declaration rather than a definition; the function definition will be in
 
9026
+  // another compilation unit.
 
9027
+  // IS_INLINABLE is true if the function can be inlined.
 
9028
+  // DISABLE_SPLIT_STACK is true if this function may not split the stack; this
 
9029
+  // is used for the implementation of recover.
 
9030
+  // IN_UNIQUE_SECTION is true if this function should be put into a unique
 
9031
+  // location if possible; this is used for field tracking.
 
9032
+  virtual Bfunction*
 
9033
+  function(Btype* fntype, const std::string& name, const std::string& asm_name,
 
9034
+           bool is_visible, bool is_declaration, bool is_inlinable,
 
9035
+           bool disable_split_stack, bool in_unique_section, Location) = 0;
 
9036
 };
 
9037
 
 
9038
 // The backend interface has to define this function.
 
9039
@@ -517,5 +548,6 @@
 
9040
 extern tree stat_to_tree(Bstatement*);
 
9041
 extern tree block_to_tree(Bblock*);
 
9042
 extern tree var_to_tree(Bvariable*);
 
9043
+extern tree function_to_tree(Bfunction*);
 
9044
 
 
9045
 #endif // !defined(GO_BACKEND_H)
 
9046
Index: gcc/go/gofrontend/types.cc
 
9047
===================================================================
 
9048
--- a/src/gcc/go/gofrontend/types.cc    (.../tags/gcc_4_8_2_release)
 
9049
+++ b/src/gcc/go/gofrontend/types.cc    (.../branches/gcc-4_8-branch)
 
9050
@@ -3383,6 +3383,68 @@
 
9051
 // Get the backend representation for a function type.
 
9052
 
 
9053
 Btype*
 
9054
+Function_type::get_backend_fntype(Gogo* gogo)
 
9055
+{
 
9056
+  if (this->fnbtype_ == NULL)
 
9057
+    {
 
9058
+      Backend::Btyped_identifier breceiver;
 
9059
+      if (this->receiver_ != NULL)
 
9060
+        {
 
9061
+          breceiver.name = Gogo::unpack_hidden_name(this->receiver_->name());
 
9062
+
 
9063
+          // We always pass the address of the receiver parameter, in
 
9064
+          // order to make interface calls work with unknown types.
 
9065
+          Type* rtype = this->receiver_->type();
 
9066
+          if (rtype->points_to() == NULL)
 
9067
+            rtype = Type::make_pointer_type(rtype);
 
9068
+          breceiver.btype = rtype->get_backend(gogo);
 
9069
+          breceiver.location = this->receiver_->location();
 
9070
+        }
 
9071
+
 
9072
+      std::vector<Backend::Btyped_identifier> bparameters;
 
9073
+      if (this->parameters_ != NULL)
 
9074
+        {
 
9075
+          bparameters.resize(this->parameters_->size());
 
9076
+          size_t i = 0;
 
9077
+          for (Typed_identifier_list::const_iterator p =
 
9078
+                   this->parameters_->begin(); p != this->parameters_->end();
 
9079
+               ++p, ++i)
 
9080
+           {
 
9081
+              bparameters[i].name = Gogo::unpack_hidden_name(p->name());
 
9082
+              bparameters[i].btype = p->type()->get_backend(gogo);
 
9083
+              bparameters[i].location = p->location();
 
9084
+            }
 
9085
+          go_assert(i == bparameters.size());
 
9086
+        }
 
9087
+
 
9088
+      std::vector<Backend::Btyped_identifier> bresults;
 
9089
+      if (this->results_ != NULL)
 
9090
+        {
 
9091
+          bresults.resize(this->results_->size());
 
9092
+          size_t i = 0;
 
9093
+          for (Typed_identifier_list::const_iterator p =
 
9094
+                   this->results_->begin(); p != this->results_->end();
 
9095
+               ++p, ++i)
 
9096
+           {
 
9097
+              bresults[i].name = Gogo::unpack_hidden_name(p->name());
 
9098
+              bresults[i].btype = p->type()->get_backend(gogo);
 
9099
+              bresults[i].location = p->location();
 
9100
+            }
 
9101
+          go_assert(i == bresults.size());
 
9102
+        }
 
9103
+
 
9104
+      this->fnbtype_ = gogo->backend()->function_type(breceiver, bparameters,
 
9105
+                                                      bresults,
 
9106
+                                                      this->location());
 
9107
+
 
9108
+    }
 
9109
+
 
9110
+  return this->fnbtype_;
 
9111
+}
 
9112
+
 
9113
+// Get the backend representation for a Go function type.
 
9114
+
 
9115
+Btype*
 
9116
 Function_type::do_get_backend(Gogo* gogo)
 
9117
 {
 
9118
   // When we do anything with a function value other than call it, it
 
9119
@@ -3395,57 +3457,9 @@
 
9120
     gogo->backend()->placeholder_struct_type("__go_descriptor", loc);
 
9121
   Btype* ptr_struct_type = gogo->backend()->pointer_type(struct_type);
 
9122
 
 
9123
-  Backend::Btyped_identifier breceiver;
 
9124
-  if (this->receiver_ != NULL)
 
9125
-    {
 
9126
-      breceiver.name = Gogo::unpack_hidden_name(this->receiver_->name());
 
9127
-
 
9128
-      // We always pass the address of the receiver parameter, in
 
9129
-      // order to make interface calls work with unknown types.
 
9130
-      Type* rtype = this->receiver_->type();
 
9131
-      if (rtype->points_to() == NULL)
 
9132
-       rtype = Type::make_pointer_type(rtype);
 
9133
-      breceiver.btype = rtype->get_backend(gogo);
 
9134
-      breceiver.location = this->receiver_->location();
 
9135
-    }
 
9136
-
 
9137
-  std::vector<Backend::Btyped_identifier> bparameters;
 
9138
-  if (this->parameters_ != NULL)
 
9139
-    {
 
9140
-      bparameters.resize(this->parameters_->size());
 
9141
-      size_t i = 0;
 
9142
-      for (Typed_identifier_list::const_iterator p = this->parameters_->begin();
 
9143
-          p != this->parameters_->end();
 
9144
-          ++p, ++i)
 
9145
-       {
 
9146
-         bparameters[i].name = Gogo::unpack_hidden_name(p->name());
 
9147
-         bparameters[i].btype = p->type()->get_backend(gogo);
 
9148
-         bparameters[i].location = p->location();
 
9149
-       }
 
9150
-      go_assert(i == bparameters.size());
 
9151
-    }
 
9152
-
 
9153
-  std::vector<Backend::Btyped_identifier> bresults;
 
9154
-  if (this->results_ != NULL)
 
9155
-    {
 
9156
-      bresults.resize(this->results_->size());
 
9157
-      size_t i = 0;
 
9158
-      for (Typed_identifier_list::const_iterator p = this->results_->begin();
 
9159
-          p != this->results_->end();
 
9160
-          ++p, ++i)
 
9161
-       {
 
9162
-         bresults[i].name = Gogo::unpack_hidden_name(p->name());
 
9163
-         bresults[i].btype = p->type()->get_backend(gogo);
 
9164
-         bresults[i].location = p->location();
 
9165
-       }
 
9166
-      go_assert(i == bresults.size());
 
9167
-    }
 
9168
-
 
9169
-  Btype* fntype = gogo->backend()->function_type(breceiver, bparameters,
 
9170
-                                                bresults, loc);
 
9171
   std::vector<Backend::Btyped_identifier> fields(1);
 
9172
   fields[0].name = "code";
 
9173
-  fields[0].btype = fntype;
 
9174
+  fields[0].btype = this->get_backend_fntype(gogo);
 
9175
   fields[0].location = loc;
 
9176
   if (!gogo->backend()->set_placeholder_struct_type(struct_type, fields))
 
9177
     return gogo->backend()->error_type();
 
9178
@@ -4195,7 +4209,8 @@
 
9179
 
 
9180
       // This is a horrible hack caused by the fact that we don't pack
 
9181
       // the names of builtin types.  FIXME.
 
9182
-      if (nt != NULL
 
9183
+      if (!this->is_imported_
 
9184
+         && nt != NULL
 
9185
          && nt->is_builtin()
 
9186
          && nt->name() == Gogo::unpack_hidden_name(name))
 
9187
        return true;
 
9188
@@ -4204,6 +4219,36 @@
 
9189
     }
 
9190
 }
 
9191
 
 
9192
+// Return whether this field is an unexported field named NAME.
 
9193
+
 
9194
+bool
 
9195
+Struct_field::is_unexported_field_name(Gogo* gogo,
 
9196
+                                      const std::string& name) const
 
9197
+{
 
9198
+  const std::string& field_name(this->field_name());
 
9199
+  if (Gogo::is_hidden_name(field_name)
 
9200
+      && name == Gogo::unpack_hidden_name(field_name)
 
9201
+      && gogo->pack_hidden_name(name, false) != field_name)
 
9202
+    return true;
 
9203
+
 
9204
+  // Check for the name of a builtin type.  This is like the test in
 
9205
+  // is_field_name, only there we return false if this->is_imported_,
 
9206
+  // and here we return true.
 
9207
+  if (this->is_imported_ && this->is_anonymous())
 
9208
+    {
 
9209
+      Type* t = this->typed_identifier_.type();
 
9210
+      if (t->points_to() != NULL)
 
9211
+       t = t->points_to();
 
9212
+      Named_type* nt = t->named_type();
 
9213
+      if (nt != NULL
 
9214
+         && nt->is_builtin()
 
9215
+         && nt->name() == Gogo::unpack_hidden_name(name))
 
9216
+       return true;
 
9217
+    }
 
9218
+
 
9219
+  return false;
 
9220
+}
 
9221
+
 
9222
 // Return whether this field is an embedded built-in type.
 
9223
 
 
9224
 bool
 
9225
@@ -4264,13 +4309,8 @@
 
9226
        ++p)
 
9227
     {
 
9228
       Type* t = p->type();
 
9229
-      if (t->is_undefined())
 
9230
+      if (p->is_anonymous())
 
9231
        {
 
9232
-         error_at(p->location(), "struct field type is incomplete");
 
9233
-         p->set_type(Type::make_error_type());
 
9234
-       }
 
9235
-      else if (p->is_anonymous())
 
9236
-       {
 
9237
          if (t->named_type() != NULL && t->points_to() != NULL)
 
9238
            {
 
9239
              error_at(p->location(), "embedded type may not be a pointer");
 
9240
@@ -4641,13 +4681,8 @@
 
9241
       for (Struct_field_list::const_iterator pf = fields->begin();
 
9242
           pf != fields->end();
 
9243
           ++pf)
 
9244
-       {
 
9245
-         const std::string& field_name(pf->field_name());
 
9246
-         if (Gogo::is_hidden_name(field_name)
 
9247
-             && name == Gogo::unpack_hidden_name(field_name)
 
9248
-             && gogo->pack_hidden_name(name, false) != field_name)
 
9249
-           return true;
 
9250
-       }
 
9251
+       if (pf->is_unexported_field_name(gogo, name))
 
9252
+         return true;
 
9253
     }
 
9254
   return false;
 
9255
 }
 
9256
@@ -5250,6 +5285,7 @@
 
9257
          Type* ftype = imp->read_type();
 
9258
 
 
9259
          Struct_field sf(Typed_identifier(name, ftype, imp->location()));
 
9260
+         sf.set_is_imported();
 
9261
 
 
9262
          if (imp->peek_char() == ' ')
 
9263
            {
 
9264
@@ -9022,6 +9058,8 @@
 
9265
                                      fntype->is_varargs(), location);
 
9266
          gogo->finish_function(fntype->location());
 
9267
 
 
9268
+         if (type->named_type() == NULL && stub->is_function())
 
9269
+           stub->func_value()->set_is_unnamed_type_stub_method();
 
9270
          if (m->nointerface() && stub->is_function())
 
9271
            stub->func_value()->set_nointerface();
 
9272
        }
 
9273
@@ -9289,7 +9327,9 @@
 
9274
       else
 
9275
        {
 
9276
          bool is_unexported;
 
9277
-         if (!Gogo::is_hidden_name(name))
 
9278
+         // The test for 'a' and 'z' is to handle builtin names,
 
9279
+         // which are not hidden.
 
9280
+         if (!Gogo::is_hidden_name(name) && (name[0] < 'a' || name[0] > 'z'))
 
9281
            is_unexported = false;
 
9282
          else
 
9283
            {
 
9284
Index: gcc/go/gofrontend/expressions.cc
 
9285
===================================================================
 
9286
--- a/src/gcc/go/gofrontend/expressions.cc      (.../tags/gcc_4_8_2_release)
 
9287
+++ b/src/gcc/go/gofrontend/expressions.cc      (.../branches/gcc-4_8-branch)
 
9288
@@ -1219,7 +1219,7 @@
 
9289
 
 
9290
 // Get the tree for the code of a function expression.
 
9291
 
 
9292
-tree
 
9293
+Bexpression*
 
9294
 Func_expression::get_code_pointer(Gogo* gogo, Named_object* no, Location loc)
 
9295
 {
 
9296
   Function_type* fntype;
 
9297
@@ -1237,25 +1237,18 @@
 
9298
       error_at(loc,
 
9299
               "invalid use of special builtin function %qs; must be called",
 
9300
               no->message_name().c_str());
 
9301
-      return error_mark_node;
 
9302
+      return gogo->backend()->error_expression();
 
9303
     }
 
9304
 
 
9305
-  tree id = no->get_id(gogo);
 
9306
-  if (id == error_mark_node)
 
9307
-    return error_mark_node;
 
9308
-
 
9309
-  tree fndecl;
 
9310
+  Bfunction* fndecl;
 
9311
   if (no->is_function())
 
9312
-    fndecl = no->func_value()->get_or_make_decl(gogo, no, id);
 
9313
+    fndecl = no->func_value()->get_or_make_decl(gogo, no);
 
9314
   else if (no->is_function_declaration())
 
9315
-    fndecl = no->func_declaration_value()->get_or_make_decl(gogo, no, id);
 
9316
+    fndecl = no->func_declaration_value()->get_or_make_decl(gogo, no);
 
9317
   else
 
9318
     go_unreachable();
 
9319
 
 
9320
-  if (fndecl == error_mark_node)
 
9321
-    return error_mark_node;
 
9322
-
 
9323
-  return build_fold_addr_expr_loc(loc.gcc_location(), fndecl);
 
9324
+  return gogo->backend()->function_code_expression(fndecl, loc);
 
9325
 }
 
9326
 
 
9327
 // Get the tree for a function expression.  This is used when we take
 
9328
@@ -1492,8 +1485,10 @@
 
9329
 tree
 
9330
 Func_code_reference_expression::do_get_tree(Translate_context* context)
 
9331
 {
 
9332
-  return Func_expression::get_code_pointer(context->gogo(), this->function_,
 
9333
-                                          this->location());
 
9334
+  Bexpression* ret =
 
9335
+      Func_expression::get_code_pointer(context->gogo(), this->function_,
 
9336
+                                        this->location());
 
9337
+  return expr_to_tree(ret);
 
9338
 }
 
9339
 
 
9340
 // Make a reference to the code of a function.
 
9341
@@ -3055,8 +3050,7 @@
 
9342
   do_lower(Gogo*, Named_object*, Statement_inserter*, int);
 
9343
 
 
9344
   bool
 
9345
-  do_is_constant() const
 
9346
-  { return this->expr_->is_constant(); }
 
9347
+  do_is_constant() const;
 
9348
 
 
9349
   bool
 
9350
   do_numeric_constant_value(Numeric_constant*) const;
 
9351
@@ -3198,6 +3192,27 @@
 
9352
   return this;
 
9353
 }
 
9354
 
 
9355
+// Return whether a type conversion is a constant.
 
9356
+
 
9357
+bool
 
9358
+Type_conversion_expression::do_is_constant() const
 
9359
+{
 
9360
+  if (!this->expr_->is_constant())
 
9361
+    return false;
 
9362
+
 
9363
+  // A conversion to a type that may not be used as a constant is not
 
9364
+  // a constant.  For example, []byte(nil).
 
9365
+  Type* type = this->type_;
 
9366
+  if (type->integer_type() == NULL
 
9367
+      && type->float_type() == NULL
 
9368
+      && type->complex_type() == NULL
 
9369
+      && !type->is_boolean_type()
 
9370
+      && !type->is_string_type())
 
9371
+    return false;
 
9372
+
 
9373
+  return true;
 
9374
+}
 
9375
+
 
9376
 // Return the constant numeric value if there is one.
 
9377
 
 
9378
 bool
 
9379
@@ -5586,6 +5601,15 @@
 
9380
       subcontext.type = NULL;
 
9381
     }
 
9382
 
 
9383
+  if (this->op_ == OPERATOR_ANDAND || this->op_ == OPERATOR_OROR)
 
9384
+    {
 
9385
+      // For a logical operation, the context does not determine the
 
9386
+      // types of the operands.  The operands must be some boolean
 
9387
+      // type but if the context has a boolean type they do not
 
9388
+      // inherit it.  See http://golang.org/issue/3924.
 
9389
+      subcontext.type = NULL;
 
9390
+    }
 
9391
+
 
9392
   // Set the context for the left hand operand.
 
9393
   if (is_shift_op)
 
9394
     {
 
9395
@@ -5967,6 +5991,43 @@
 
9396
                                right);
 
9397
     }
 
9398
 
 
9399
+  // For complex division Go wants slightly different results than the
 
9400
+  // GCC library provides, so we have our own runtime routine.
 
9401
+  if (this->op_ == OPERATOR_DIV && this->left_->type()->complex_type() != NULL)
 
9402
+    {
 
9403
+      const char *name;
 
9404
+      tree *pdecl;
 
9405
+      Type* ctype;
 
9406
+      static tree complex64_div_decl;
 
9407
+      static tree complex128_div_decl;
 
9408
+      switch (this->left_->type()->complex_type()->bits())
 
9409
+       {
 
9410
+       case 64:
 
9411
+         name = "__go_complex64_div";
 
9412
+         pdecl = &complex64_div_decl;
 
9413
+         ctype = Type::lookup_complex_type("complex64");
 
9414
+         break;
 
9415
+       case 128:
 
9416
+         name = "__go_complex128_div";
 
9417
+         pdecl = &complex128_div_decl;
 
9418
+         ctype = Type::lookup_complex_type("complex128");
 
9419
+         break;
 
9420
+       default:
 
9421
+         go_unreachable();
 
9422
+       }
 
9423
+      Btype* cbtype = ctype->get_backend(gogo);
 
9424
+      tree ctype_tree = type_to_tree(cbtype);
 
9425
+      return Gogo::call_builtin(pdecl,
 
9426
+                               this->location(),
 
9427
+                               name,
 
9428
+                               2,
 
9429
+                               ctype_tree,
 
9430
+                               ctype_tree,
 
9431
+                               fold_convert_loc(gccloc, ctype_tree, left),
 
9432
+                               type,
 
9433
+                               fold_convert_loc(gccloc, ctype_tree, right));
 
9434
+    }
 
9435
+
 
9436
   tree compute_type = excess_precision_type(type);
 
9437
   if (compute_type != NULL_TREE)
 
9438
     {
 
9439
@@ -7191,6 +7252,15 @@
 
9440
   if (this->code_ == BUILTIN_OFFSETOF)
 
9441
     {
 
9442
       Expression* arg = this->one_arg();
 
9443
+
 
9444
+      if (arg->bound_method_expression() != NULL
 
9445
+         || arg->interface_field_reference_expression() != NULL)
 
9446
+       {
 
9447
+         this->report_error(_("invalid use of method value as argument "
 
9448
+                              "of Offsetof"));
 
9449
+         return this;
 
9450
+       }
 
9451
+
 
9452
       Field_reference_expression* farg = arg->field_reference_expression();
 
9453
       while (farg != NULL)
 
9454
        {
 
9455
@@ -7200,7 +7270,8 @@
 
9456
          // it must not be reached through pointer indirections.
 
9457
          if (farg->expr()->deref() != farg->expr())
 
9458
            {
 
9459
-             this->report_error(_("argument of Offsetof implies indirection of an embedded field"));
 
9460
+             this->report_error(_("argument of Offsetof implies "
 
9461
+                                  "indirection of an embedded field"));
 
9462
              return this;
 
9463
            }
 
9464
          // Go up until we reach the original base.
 
9465
@@ -7476,7 +7547,7 @@
 
9466
       switch (nc.to_unsigned_long(&v))
 
9467
        {
 
9468
        case Numeric_constant::NC_UL_VALID:
 
9469
-         return true;
 
9470
+         break;
 
9471
        case Numeric_constant::NC_UL_NOTINT:
 
9472
          error_at(e->location(), "non-integer %s argument to make",
 
9473
                   is_length ? "len" : "cap");
 
9474
@@ -7488,8 +7559,23 @@
 
9475
        case Numeric_constant::NC_UL_BIG:
 
9476
          // We don't want to give a compile-time error for a 64-bit
 
9477
          // value on a 32-bit target.
 
9478
-         return true;
 
9479
+         break;
 
9480
        }
 
9481
+
 
9482
+      mpz_t val;
 
9483
+      if (!nc.to_int(&val))
 
9484
+       go_unreachable();
 
9485
+      int bits = mpz_sizeinbase(val, 2);
 
9486
+      mpz_clear(val);
 
9487
+      Type* int_type = Type::lookup_integer_type("int");
 
9488
+      if (bits >= int_type->integer_type()->bits())
 
9489
+       {
 
9490
+         error_at(e->location(), "%s argument too large for make",
 
9491
+                  is_length ? "len" : "cap");
 
9492
+         return false;
 
9493
+       }
 
9494
+
 
9495
+      return true;
 
9496
     }
 
9497
 
 
9498
   if (e->type()->integer_type() != NULL)
 
9499
@@ -7595,6 +7681,8 @@
 
9500
 bool
 
9501
 Builtin_call_expression::do_is_constant() const
 
9502
 {
 
9503
+  if (this->is_error_expression())
 
9504
+    return true;
 
9505
   switch (this->code_)
 
9506
     {
 
9507
     case BUILTIN_LEN:
 
9508
@@ -9744,15 +9832,9 @@
 
9509
     }
 
9510
 
 
9511
   tree fntype_tree = type_to_tree(fntype->get_backend(gogo));
 
9512
-  if (fntype_tree == error_mark_node)
 
9513
+  tree fnfield_type = type_to_tree(fntype->get_backend_fntype(gogo));
 
9514
+  if (fntype_tree == error_mark_node || fnfield_type == error_mark_node)
 
9515
     return error_mark_node;
 
9516
-  go_assert(POINTER_TYPE_P(fntype_tree));
 
9517
-  if (TREE_TYPE(fntype_tree) == error_mark_node)
 
9518
-    return error_mark_node;
 
9519
-  go_assert(TREE_CODE(TREE_TYPE(fntype_tree)) == RECORD_TYPE);
 
9520
-  tree fnfield_type = TREE_TYPE(TYPE_FIELDS(TREE_TYPE(fntype_tree)));
 
9521
-  if (fnfield_type == error_mark_node)
 
9522
-    return error_mark_node;
 
9523
   go_assert(FUNCTION_POINTER_TYPE_P(fnfield_type));
 
9524
   tree rettype = TREE_TYPE(TREE_TYPE(fnfield_type));
 
9525
   if (rettype == error_mark_node)
 
9526
@@ -9763,7 +9845,7 @@
 
9527
   if (func != NULL)
 
9528
     {
 
9529
       Named_object* no = func->named_object();
 
9530
-      fn = Func_expression::get_code_pointer(gogo, no, location);
 
9531
+      fn = expr_to_tree(Func_expression::get_code_pointer(gogo, no, location));
 
9532
       if (!has_closure)
 
9533
        closure_tree = NULL_TREE;
 
9534
       else
 
9535
@@ -10817,11 +10899,20 @@
 
9536
 void
 
9537
 String_index_expression::do_check_types(Gogo*)
 
9538
 {
 
9539
-  if (this->start_->type()->integer_type() == NULL)
 
9540
+  Numeric_constant nc;
 
9541
+  unsigned long v;
 
9542
+  if (this->start_->type()->integer_type() == NULL
 
9543
+      && !this->start_->type()->is_error()
 
9544
+      && (!this->start_->numeric_constant_value(&nc)
 
9545
+         || nc.to_unsigned_long(&v) == Numeric_constant::NC_UL_NOTINT))
 
9546
     this->report_error(_("index must be integer"));
 
9547
   if (this->end_ != NULL
 
9548
       && this->end_->type()->integer_type() == NULL
 
9549
-      && !this->end_->is_nil_expression())
 
9550
+      && !this->end_->type()->is_error()
 
9551
+      && !this->end_->is_nil_expression()
 
9552
+      && !this->end_->is_error_expression()
 
9553
+      && (!this->end_->numeric_constant_value(&nc)
 
9554
+         || nc.to_unsigned_long(&v) == Numeric_constant::NC_UL_NOTINT))
 
9555
     this->report_error(_("slice end must be integer"));
 
9556
 
 
9557
   std::string sval;
 
9558
Index: gcc/recog.c
 
9559
===================================================================
 
9560
--- a/src/gcc/recog.c   (.../tags/gcc_4_8_2_release)
 
9561
+++ b/src/gcc/recog.c   (.../branches/gcc-4_8-branch)
 
9562
@@ -3061,6 +3061,9 @@
 
9563
   return 1;
 
9564
 }
 
9565
 
 
9566
+/* Regno offset to be used in the register search.  */
 
9567
+static int search_ofs;
 
9568
+
 
9569
 /* Try to find a hard register of mode MODE, matching the register class in
 
9570
    CLASS_STR, which is available at the beginning of insn CURRENT_INSN and
 
9571
    remains available until the end of LAST_INSN.  LAST_INSN may be NULL_RTX,
 
9572
@@ -3076,7 +3079,6 @@
 
9573
 peep2_find_free_register (int from, int to, const char *class_str,
 
9574
                          enum machine_mode mode, HARD_REG_SET *reg_set)
 
9575
 {
 
9576
-  static int search_ofs;
 
9577
   enum reg_class cl;
 
9578
   HARD_REG_SET live;
 
9579
   df_ref *def_rec;
 
9580
@@ -3541,6 +3543,7 @@
 
9581
   /* Initialize the regsets we're going to use.  */
 
9582
   for (i = 0; i < MAX_INSNS_PER_PEEP2 + 1; ++i)
 
9583
     peep2_insn_data[i].live_before = BITMAP_ALLOC (&reg_obstack);
 
9584
+  search_ofs = 0;
 
9585
   live = BITMAP_ALLOC (&reg_obstack);
 
9586
 
 
9587
   FOR_EACH_BB_REVERSE (bb)
 
9588
Index: gcc/ada/ChangeLog
 
9589
===================================================================
 
9590
--- a/src/gcc/ada/ChangeLog     (.../tags/gcc_4_8_2_release)
 
9591
+++ b/src/gcc/ada/ChangeLog     (.../branches/gcc-4_8-branch)
 
9592
@@ -1,3 +1,15 @@
 
9593
+2013-10-19  Eric Botcazou  <ebotcazou@adacore.com>
 
9594
+
 
9595
+       * gcc-interface/utils.c (scale_by_factor_of): New function.
 
9596
+       (rest_of_record_type_compilation): Use scale_by_factor_of in order to
 
9597
+       scale the original offset for both rounding cases; in the second case,
 
9598
+       take into accout the addend to compute the alignment.  Tidy up.
 
9599
+
 
9600
+2013-10-19  Eric Botcazou  <ebotcazou@adacore.com>
 
9601
+
 
9602
+       * gcc-interface/utils.c (gnat_set_type_context): New function.
 
9603
+       (gnat_pushdecl): Use it to set the context of the type.
 
9604
+
 
9605
 2013-10-16  Release Manager
 
9606
 
 
9607
        * GCC 4.8.2 released.
 
9608
Index: gcc/ada/gcc-interface/utils.c
 
9609
===================================================================
 
9610
--- a/src/gcc/ada/gcc-interface/utils.c (.../tags/gcc_4_8_2_release)
 
9611
+++ b/src/gcc/ada/gcc-interface/utils.c (.../branches/gcc-4_8-branch)
 
9612
@@ -232,6 +232,7 @@
 
9613
 static tree split_plus (tree, tree *);
 
9614
 static tree float_type_for_precision (int, enum machine_mode);
 
9615
 static tree convert_to_fat_pointer (tree, tree);
 
9616
+static unsigned int scale_by_factor_of (tree, unsigned int);
 
9617
 static bool potential_alignment_gap (tree, tree, tree);
 
9618
 static void process_attributes (tree, struct attrib *);
 
9619
 
 
9620
@@ -532,6 +533,22 @@
 
9621
   free_binding_level = level;
 
9622
 }
 
9623
 
 
9624
+/* Set the context of TYPE and its parallel types (if any) to CONTEXT.  */
 
9625
+
 
9626
+static void
 
9627
+gnat_set_type_context (tree type, tree context)
 
9628
+{
 
9629
+  tree decl = TYPE_STUB_DECL (type);
 
9630
+
 
9631
+  TYPE_CONTEXT (type) = context;
 
9632
+
 
9633
+  while (decl && DECL_PARALLEL_TYPE (decl))
 
9634
+    {
 
9635
+      TYPE_CONTEXT (DECL_PARALLEL_TYPE (decl)) = context;
 
9636
+      decl = TYPE_STUB_DECL (DECL_PARALLEL_TYPE (decl));
 
9637
+    }
 
9638
+}
 
9639
+
 
9640
 /* Record DECL as belonging to the current lexical scope and use GNAT_NODE
 
9641
    for location information and flag propagation.  */
 
9642
 
 
9643
@@ -613,7 +630,7 @@
 
9644
              if (TREE_CODE (t) == POINTER_TYPE)
 
9645
                TYPE_NEXT_PTR_TO (t) = tt;
 
9646
              TYPE_NAME (tt) = DECL_NAME (decl);
 
9647
-             TYPE_CONTEXT (tt) = DECL_CONTEXT (decl);
 
9648
+             gnat_set_type_context (tt, DECL_CONTEXT (decl));
 
9649
              TYPE_STUB_DECL (tt) = TYPE_STUB_DECL (t);
 
9650
              DECL_ORIGINAL_TYPE (decl) = tt;
 
9651
            }
 
9652
@@ -623,7 +640,7 @@
 
9653
          /* We need a variant for the placeholder machinery to work.  */
 
9654
          tree tt = build_variant_type_copy (t);
 
9655
          TYPE_NAME (tt) = decl;
 
9656
-         TYPE_CONTEXT (tt) = DECL_CONTEXT (decl);
 
9657
+         gnat_set_type_context (tt, DECL_CONTEXT (decl));
 
9658
          TREE_USED (tt) = TREE_USED (t);
 
9659
          TREE_TYPE (decl) = tt;
 
9660
          if (DECL_ORIGINAL_TYPE (TYPE_NAME (t)))
 
9661
@@ -645,7 +662,7 @@
 
9662
          if (!(TYPE_NAME (t) && TREE_CODE (TYPE_NAME (t)) == TYPE_DECL))
 
9663
            {
 
9664
              TYPE_NAME (t) = decl;
 
9665
-             TYPE_CONTEXT (t) = DECL_CONTEXT (decl);
 
9666
+             gnat_set_type_context (t, DECL_CONTEXT (decl));
 
9667
            }
 
9668
     }
 
9669
 }
 
9670
@@ -1692,93 +1709,74 @@
 
9671
       TYPE_SIZE_UNIT (new_record_type)
 
9672
        = size_int (TYPE_ALIGN (record_type) / BITS_PER_UNIT);
 
9673
 
 
9674
-      /* Now scan all the fields, replacing each field with a new
 
9675
-        field corresponding to the new encoding.  */
 
9676
+      /* Now scan all the fields, replacing each field with a new field
 
9677
+        corresponding to the new encoding.  */
 
9678
       for (old_field = TYPE_FIELDS (record_type); old_field;
 
9679
           old_field = DECL_CHAIN (old_field))
 
9680
        {
 
9681
          tree field_type = TREE_TYPE (old_field);
 
9682
          tree field_name = DECL_NAME (old_field);
 
9683
-         tree new_field;
 
9684
          tree curpos = bit_position (old_field);
 
9685
+         tree pos, new_field;
 
9686
          bool var = false;
 
9687
          unsigned int align = 0;
 
9688
-         tree pos;
 
9689
 
 
9690
+         /* We're going to do some pattern matching below so remove as many
 
9691
+            conversions as possible.  */
 
9692
+         curpos = remove_conversions (curpos, true);
 
9693
+
 
9694
          /* See how the position was modified from the last position.
 
9695
 
 
9696
-         There are two basic cases we support: a value was added
 
9697
-         to the last position or the last position was rounded to
 
9698
-         a boundary and they something was added.  Check for the
 
9699
-         first case first.  If not, see if there is any evidence
 
9700
-         of rounding.  If so, round the last position and try
 
9701
-         again.
 
9702
+            There are two basic cases we support: a value was added
 
9703
+            to the last position or the last position was rounded to
 
9704
+            a boundary and they something was added.  Check for the
 
9705
+            first case first.  If not, see if there is any evidence
 
9706
+            of rounding.  If so, round the last position and retry.
 
9707
 
 
9708
-         If this is a union, the position can be taken as zero. */
 
9709
-
 
9710
-         /* Some computations depend on the shape of the position expression,
 
9711
-            so strip conversions to make sure it's exposed.  */
 
9712
-         curpos = remove_conversions (curpos, true);
 
9713
-
 
9714
+            If this is a union, the position can be taken as zero.  */
 
9715
          if (TREE_CODE (new_record_type) == UNION_TYPE)
 
9716
-           pos = bitsize_zero_node, align = 0;
 
9717
+           pos = bitsize_zero_node;
 
9718
          else
 
9719
            pos = compute_related_constant (curpos, last_pos);
 
9720
 
 
9721
-         if (!pos && TREE_CODE (curpos) == MULT_EXPR
 
9722
+         if (!pos
 
9723
+             && TREE_CODE (curpos) == MULT_EXPR
 
9724
              && host_integerp (TREE_OPERAND (curpos, 1), 1))
 
9725
            {
 
9726
              tree offset = TREE_OPERAND (curpos, 0);
 
9727
              align = tree_low_cst (TREE_OPERAND (curpos, 1), 1);
 
9728
-
 
9729
-             /* An offset which is a bitwise AND with a mask increases the
 
9730
-                alignment according to the number of trailing zeros.  */
 
9731
-             offset = remove_conversions (offset, true);
 
9732
-             if (TREE_CODE (offset) == BIT_AND_EXPR
 
9733
-                 && TREE_CODE (TREE_OPERAND (offset, 1)) == INTEGER_CST)
 
9734
-               {
 
9735
-                 unsigned HOST_WIDE_INT mask
 
9736
-                   = TREE_INT_CST_LOW (TREE_OPERAND (offset, 1));
 
9737
-                 unsigned int i;
 
9738
-
 
9739
-                 for (i = 0; i < HOST_BITS_PER_WIDE_INT; i++)
 
9740
-                   {
 
9741
-                     if (mask & 1)
 
9742
-                       break;
 
9743
-                     mask >>= 1;
 
9744
-                     align *= 2;
 
9745
-                   }
 
9746
-               }
 
9747
-
 
9748
-             pos = compute_related_constant (curpos,
 
9749
-                                             round_up (last_pos, align));
 
9750
+             align = scale_by_factor_of (offset, align);
 
9751
+             last_pos = round_up (last_pos, align);
 
9752
+             pos = compute_related_constant (curpos, last_pos);
 
9753
            }
 
9754
-         else if (!pos && TREE_CODE (curpos) == PLUS_EXPR
 
9755
-                  && TREE_CODE (TREE_OPERAND (curpos, 1)) == INTEGER_CST
 
9756
+         else if (!pos
 
9757
+                  && TREE_CODE (curpos) == PLUS_EXPR
 
9758
+                  && host_integerp (TREE_OPERAND (curpos, 1), 1)
 
9759
                   && TREE_CODE (TREE_OPERAND (curpos, 0)) == MULT_EXPR
 
9760
-                  && host_integerp (TREE_OPERAND
 
9761
-                                    (TREE_OPERAND (curpos, 0), 1),
 
9762
-                                    1))
 
9763
+                  && host_integerp
 
9764
+                     (TREE_OPERAND (TREE_OPERAND (curpos, 0), 1), 1))
 
9765
            {
 
9766
+             tree offset = TREE_OPERAND (TREE_OPERAND (curpos, 0), 0);
 
9767
+             unsigned HOST_WIDE_INT addend
 
9768
+               = tree_low_cst (TREE_OPERAND (curpos, 1), 1);
 
9769
              align
 
9770
-               = tree_low_cst
 
9771
-               (TREE_OPERAND (TREE_OPERAND (curpos, 0), 1), 1);
 
9772
-             pos = compute_related_constant (curpos,
 
9773
-                                             round_up (last_pos, align));
 
9774
+               = tree_low_cst (TREE_OPERAND (TREE_OPERAND (curpos, 0), 1), 1);
 
9775
+             align = scale_by_factor_of (offset, align);
 
9776
+             align = MIN (align, addend & -addend);
 
9777
+             last_pos = round_up (last_pos, align);
 
9778
+             pos = compute_related_constant (curpos, last_pos);
 
9779
            }
 
9780
-         else if (potential_alignment_gap (prev_old_field, old_field,
 
9781
-                                           pos))
 
9782
+         else if (potential_alignment_gap (prev_old_field, old_field, pos))
 
9783
            {
 
9784
              align = TYPE_ALIGN (field_type);
 
9785
-             pos = compute_related_constant (curpos,
 
9786
-                                             round_up (last_pos, align));
 
9787
+             last_pos = round_up (last_pos, align);
 
9788
+             pos = compute_related_constant (curpos, last_pos);
 
9789
            }
 
9790
 
 
9791
          /* If we can't compute a position, set it to zero.
 
9792
 
 
9793
-         ??? We really should abort here, but it's too much work
 
9794
-         to get this correct for all cases.  */
 
9795
-
 
9796
+            ??? We really should abort here, but it's too much work
 
9797
+            to get this correct for all cases.  */
 
9798
          if (!pos)
 
9799
            pos = bitsize_zero_node;
 
9800
 
 
9801
@@ -2553,6 +2551,32 @@
 
9802
   return false;
 
9803
 }
 
9804
 
 
9805
+/* Return VALUE scaled by the biggest power-of-2 factor of EXPR.  */
 
9806
+
 
9807
+static unsigned int
 
9808
+scale_by_factor_of (tree expr, unsigned int value)
 
9809
+{
 
9810
+  expr = remove_conversions (expr, true);
 
9811
+
 
9812
+  /* An expression which is a bitwise AND with a mask has a power-of-2 factor
 
9813
+     corresponding to the number of trailing zeros of the mask.  */
 
9814
+  if (TREE_CODE (expr) == BIT_AND_EXPR
 
9815
+      && TREE_CODE (TREE_OPERAND (expr, 1)) == INTEGER_CST)
 
9816
+    {
 
9817
+      unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (TREE_OPERAND (expr, 1));
 
9818
+      unsigned int i = 0;
 
9819
+
 
9820
+      while ((mask & 1) == 0 && i < HOST_BITS_PER_WIDE_INT)
 
9821
+       {
 
9822
+         mask >>= 1;
 
9823
+         value *= 2;
 
9824
+         i++;
 
9825
+       }
 
9826
+    }
 
9827
+
 
9828
+  return value;
 
9829
+}
 
9830
+
 
9831
 /* Given two consecutive field decls PREV_FIELD and CURR_FIELD, return true
 
9832
    unless we can prove these 2 fields are laid out in such a way that no gap
 
9833
    exist between the end of PREV_FIELD and the beginning of CURR_FIELD.  OFFSET
 
9834
Index: gcc/fortran/interface.c
 
9835
===================================================================
 
9836
--- a/src/gcc/fortran/interface.c       (.../tags/gcc_4_8_2_release)
 
9837
+++ b/src/gcc/fortran/interface.c       (.../branches/gcc-4_8-branch)
 
9838
@@ -1245,7 +1245,8 @@
 
9839
          return FAILURE;
 
9840
        }
 
9841
 
 
9842
-      if (r1->ts.u.cl->length)
 
9843
+      if (s1->ts.u.cl && s1->ts.u.cl->length
 
9844
+         && s2->ts.u.cl && s2->ts.u.cl->length)
 
9845
        {
 
9846
          int compval = gfc_dep_compare_expr (r1->ts.u.cl->length,
 
9847
                                              r2->ts.u.cl->length);
 
9848
@@ -1367,8 +1368,8 @@
 
9849
       if (s1->attr.function && s2->attr.function)
 
9850
        {
 
9851
          /* If both are functions, check result characteristics.  */
 
9852
-         if (check_result_characteristics (s1, s2, errmsg, err_len)
 
9853
-             == FAILURE)
 
9854
+         if (check_result_characteristics (s1, s2, errmsg, err_len) == FAILURE
 
9855
+             || check_result_characteristics (s2, s1, errmsg, err_len) == FAILURE)
 
9856
            return 0;
 
9857
        }
 
9858
 
 
9859
Index: gcc/fortran/decl.c
 
9860
===================================================================
 
9861
--- a/src/gcc/fortran/decl.c    (.../tags/gcc_4_8_2_release)
 
9862
+++ b/src/gcc/fortran/decl.c    (.../branches/gcc-4_8-branch)
 
9863
@@ -7384,6 +7384,7 @@
 
9864
 
 
9865
 
 
9866
 /* Check a derived type that is being extended.  */
 
9867
+
 
9868
 static gfc_symbol*
 
9869
 check_extended_derived_type (char *name)
 
9870
 {
 
9871
@@ -7395,14 +7396,15 @@
 
9872
       return NULL;
 
9873
     }
 
9874
 
 
9875
+  extended = gfc_find_dt_in_generic (extended);
 
9876
+
 
9877
+  /* F08:C428.  */
 
9878
   if (!extended)
 
9879
     {
 
9880
-      gfc_error ("No such symbol in TYPE definition at %C");
 
9881
+      gfc_error ("Symbol '%s' at %C has not been previously defined", name);
 
9882
       return NULL;
 
9883
     }
 
9884
 
 
9885
-  extended = gfc_find_dt_in_generic (extended);
 
9886
-
 
9887
   if (extended->attr.flavor != FL_DERIVED)
 
9888
     {
 
9889
       gfc_error ("'%s' in EXTENDS expression at %C is not a "
 
9890
Index: gcc/fortran/ChangeLog
 
9891
===================================================================
 
9892
--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_4_8_2_release)
 
9893
+++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-4_8-branch)
 
9894
@@ -1,3 +1,43 @@
 
9895
+2013-11-17  Janus Weil  <janus@gcc.gnu.org>
 
9896
+
 
9897
+       Backport from mainline
 
9898
+       2013-11-07  Janus Weil  <janus@gcc.gnu.org>
 
9899
+
 
9900
+       PR fortran/58471
 
9901
+       * primary.c (gfc_expr_attr): Check for result symbol.
 
9902
+
 
9903
+2013-11-16  Janus Weil  <janus@gcc.gnu.org>
 
9904
+
 
9905
+       Backport from mainline
 
9906
+       2013-09-20  Janus Weil  <janus@gcc.gnu.org>
 
9907
+
 
9908
+       PR fortran/58099
 
9909
+       * expr.c (gfc_check_pointer_assign): Remove second call to
 
9910
+       'gfc_compare_interfaces' with swapped arguments.
 
9911
+       * interface.c (gfc_compare_interfaces): Symmetrize the call to
 
9912
+       'check_result_characteristics' by calling it with swapped arguments.
 
9913
+
 
9914
+2013-11-16  Paul Thomas  <pault@gcc.gnu.org>
 
9915
+
 
9916
+       PR fortran/58771
 
9917
+       * trans-io.c (transfer_expr): If the backend_decl for a derived
 
9918
+       type is missing, build it with gfc_typenode_for_spec.
 
9919
+
 
9920
+2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
 
9921
+
 
9922
+       PR fortran/58989
 
9923
+       * check.c (gfc_check_reshape): ensure that shape is a constant
 
9924
+       expression.
 
9925
+
 
9926
+2013-11-02  Janus Weil  <janus@gcc.gnu.org>
 
9927
+
 
9928
+       Backport from mainline
 
9929
+       2013-09-23  Janus Weil  <janus@gcc.gnu.org>
 
9930
+
 
9931
+       PR fortran/58355
 
9932
+       * decl.c (check_extended_derived_type): Prevent segfault, modify error
 
9933
+       message.
 
9934
+
 
9935
 2013-10-16  Release Manager
 
9936
 
 
9937
        * GCC 4.8.2 released.
 
9938
Index: gcc/fortran/expr.c
 
9939
===================================================================
 
9940
--- a/src/gcc/fortran/expr.c    (.../tags/gcc_4_8_2_release)
 
9941
+++ b/src/gcc/fortran/expr.c    (.../branches/gcc-4_8-branch)
 
9942
@@ -3555,14 +3555,6 @@
 
9943
          return FAILURE;
 
9944
        }
 
9945
 
 
9946
-      if (!gfc_compare_interfaces (s2, s1, name, 0, 1,
 
9947
-                                  err, sizeof(err), NULL, NULL))
 
9948
-       {
 
9949
-         gfc_error ("Interface mismatch in procedure pointer assignment "
 
9950
-                    "at %L: %s", &rvalue->where, err);
 
9951
-         return FAILURE;
 
9952
-       }
 
9953
-
 
9954
       return SUCCESS;
 
9955
     }
 
9956
 
 
9957
Index: gcc/fortran/trans-io.c
 
9958
===================================================================
 
9959
--- a/src/gcc/fortran/trans-io.c        (.../tags/gcc_4_8_2_release)
 
9960
+++ b/src/gcc/fortran/trans-io.c        (.../branches/gcc-4_8-branch)
 
9961
@@ -243,16 +243,16 @@
 
9962
 
 
9963
   /* The code to generate the error.  */
 
9964
   gfc_start_block (&block);
 
9965
-  
 
9966
+
 
9967
   arg1 = gfc_build_addr_expr (NULL_TREE, var);
 
9968
-  
 
9969
+
 
9970
   arg2 = build_int_cst (integer_type_node, error_code),
 
9971
-  
 
9972
+
 
9973
   asprintf (&message, "%s", _(msgid));
 
9974
   arg3 = gfc_build_addr_expr (pchar_type_node,
 
9975
                              gfc_build_localized_cstring_const (message));
 
9976
   free (message);
 
9977
-  
 
9978
+
 
9979
   tmp = build_call_expr_loc (input_location,
 
9980
                         gfor_fndecl_generate_error, 3, arg1, arg2, arg3);
 
9981
 
 
9982
@@ -521,7 +521,7 @@
 
9983
       gfc_trans_io_runtime_check (cond, var, LIBERROR_BAD_UNIT,
 
9984
                               "Unit number in I/O statement too small",
 
9985
                               &se.pre);
 
9986
-    
 
9987
+
 
9988
       /* UNIT numbers should be less than the max.  */
 
9989
       val = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].huge, 4);
 
9990
       cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node,
 
9991
@@ -1000,7 +1000,7 @@
 
9992
   if (p->convert)
 
9993
     mask |= set_string (&block, &post_block, var, IOPARM_open_convert,
 
9994
                        p->convert);
 
9995
-                       
 
9996
+
 
9997
   if (p->newunit)
 
9998
     mask |= set_parameter_ref (&block, &post_block, var, IOPARM_open_newunit,
 
9999
                               p->newunit);
 
10000
@@ -1234,7 +1234,7 @@
 
10001
     {
 
10002
       mask |= set_parameter_ref (&block, &post_block, var, IOPARM_inquire_exist,
 
10003
                                 p->exist);
 
10004
-    
 
10005
+
 
10006
       if (p->unit && !p->iostat)
 
10007
        {
 
10008
          p->iostat = create_dummy_iostat ();
 
10009
@@ -1322,7 +1322,7 @@
 
10010
   if (p->pad)
 
10011
     mask |= set_string (&block, &post_block, var, IOPARM_inquire_pad,
 
10012
                        p->pad);
 
10013
-  
 
10014
+
 
10015
   if (p->convert)
 
10016
     mask |= set_string (&block, &post_block, var, IOPARM_inquire_convert,
 
10017
                        p->convert);
 
10018
@@ -1547,7 +1547,7 @@
 
10019
   tree dtype;
 
10020
   tree dt_parm_addr;
 
10021
   tree decl = NULL_TREE;
 
10022
-  int n_dim; 
 
10023
+  int n_dim;
 
10024
   int itype;
 
10025
   int rank = 0;
 
10026
 
 
10027
@@ -2032,7 +2032,7 @@
 
10028
       if (gfc_notification_std (GFC_STD_GNU) != SILENT)
 
10029
        {
 
10030
          gfc_error_now ("Derived type '%s' at %L has PRIVATE components",
 
10031
-                        ts->u.derived->name, code != NULL ? &(code->loc) : 
 
10032
+                        ts->u.derived->name, code != NULL ? &(code->loc) :
 
10033
                         &gfc_current_locus);
 
10034
          return;
 
10035
        }
 
10036
@@ -2041,7 +2041,7 @@
 
10037
       ts->kind = ts->u.derived->ts.kind;
 
10038
       ts->f90_type = ts->u.derived->ts.f90_type;
 
10039
     }
 
10040
-  
 
10041
+
 
10042
   kind = ts->kind;
 
10043
   function = NULL;
 
10044
   arg2 = NULL;
 
10045
@@ -2123,7 +2123,7 @@
 
10046
            function = iocall[IOCALL_X_CHARACTER_WIDE];
 
10047
          else
 
10048
            function = iocall[IOCALL_X_CHARACTER_WIDE_WRITE];
 
10049
-           
 
10050
+
 
10051
          tmp = gfc_build_addr_expr (NULL_TREE, dt_parm);
 
10052
          tmp = build_call_expr_loc (input_location,
 
10053
                                 function, 4, tmp, addr_expr, arg2, arg3);
 
10054
@@ -2158,6 +2158,12 @@
 
10055
       expr = build_fold_indirect_ref_loc (input_location,
 
10056
                                      expr);
 
10057
 
 
10058
+      /* Make sure that the derived type has been built.  An external
 
10059
+        function, if only referenced in an io statement requires this
 
10060
+        check (see PR58771).  */
 
10061
+      if (ts->u.derived->backend_decl == NULL_TREE)
 
10062
+       tmp = gfc_typenode_for_spec (ts);
 
10063
+
 
10064
       for (c = ts->u.derived->components; c; c = c->next)
 
10065
        {
 
10066
          field = c->backend_decl;
 
10067
Index: gcc/fortran/check.c
 
10068
===================================================================
 
10069
--- a/src/gcc/fortran/check.c   (.../tags/gcc_4_8_2_release)
 
10070
+++ b/src/gcc/fortran/check.c   (.../branches/gcc-4_8-branch)
 
10071
@@ -3208,7 +3208,7 @@
 
10072
                 "than %d elements", &shape->where, GFC_MAX_DIMENSIONS);
 
10073
       return FAILURE;
 
10074
     }
 
10075
-  else if (shape->expr_type == EXPR_ARRAY)
 
10076
+  else if (shape->expr_type == EXPR_ARRAY && gfc_is_constant_expr (shape))
 
10077
     {
 
10078
       gfc_expr *e;
 
10079
       int i, extent;
 
10080
Index: gcc/fortran/primary.c
 
10081
===================================================================
 
10082
--- a/src/gcc/fortran/primary.c (.../tags/gcc_4_8_2_release)
 
10083
+++ b/src/gcc/fortran/primary.c (.../branches/gcc-4_8-branch)
 
10084
@@ -2252,7 +2252,7 @@
 
10085
     case EXPR_FUNCTION:
 
10086
       gfc_clear_attr (&attr);
 
10087
 
 
10088
-      if (e->value.function.esym != NULL)
 
10089
+      if (e->value.function.esym && e->value.function.esym->result)
 
10090
        {
 
10091
          gfc_symbol *sym = e->value.function.esym->result;
 
10092
          attr = sym->attr;
 
10093
Index: gcc/configure.ac
 
10094
===================================================================
 
10095
--- a/src/gcc/configure.ac      (.../tags/gcc_4_8_2_release)
 
10096
+++ b/src/gcc/configure.ac      (.../branches/gcc-4_8-branch)
 
10097
@@ -5193,15 +5193,15 @@
 
10098
   AC_MSG_CHECKING([for exported symbols])
 
10099
   if test "x$export_sym_check" != x; then
 
10100
     echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c
 
10101
-    ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1
 
10102
-    if $export_sym_check conftest | grep foobar > /dev/null; then
 
10103
+    ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest$ac_exeext > /dev/null 2>&1
 
10104
+    if $export_sym_check conftest$ac_exeext | grep -q foobar > /dev/null; then
 
10105
       : # No need to use a flag
 
10106
       AC_MSG_RESULT([yes])
 
10107
     else
 
10108
       AC_MSG_RESULT([yes])
 
10109
       AC_MSG_CHECKING([for -rdynamic])
 
10110
-      ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
 
10111
-      if $export_sym_check conftest | grep foobar > /dev/null; then
 
10112
+      ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest$ac_exeext > /dev/null 2>&1
 
10113
+      if $export_sym_check conftest$ac_exeext | grep -q foobar > /dev/null; then
 
10114
         plugin_rdynamic=yes
 
10115
         pluginlibs="-rdynamic"
 
10116
       else
 
10117
Index: gcc/alias.c
 
10118
===================================================================
 
10119
--- a/src/gcc/alias.c   (.../tags/gcc_4_8_2_release)
 
10120
+++ b/src/gcc/alias.c   (.../branches/gcc-4_8-branch)
 
10121
@@ -2871,17 +2871,14 @@
 
10122
       /* Wipe the reg_seen array clean.  */
 
10123
       bitmap_clear (reg_seen);
 
10124
 
 
10125
-      /* Mark all hard registers which may contain an address.
 
10126
-        The stack, frame and argument pointers may contain an address.
 
10127
-        An argument register which can hold a Pmode value may contain
 
10128
-        an address even if it is not in BASE_REGS.
 
10129
+      /* Initialize the alias information for this pass.  */
 
10130
+      for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
 
10131
+       if (static_reg_base_value[i])
 
10132
+         {
 
10133
+           new_reg_base_value[i] = static_reg_base_value[i];
 
10134
+           bitmap_set_bit (reg_seen, i);
 
10135
+         }
 
10136
 
 
10137
-        The address expression is VOIDmode for an argument and
 
10138
-        Pmode for other registers.  */
 
10139
-
 
10140
-      memcpy (new_reg_base_value, static_reg_base_value,
 
10141
-             FIRST_PSEUDO_REGISTER * sizeof (rtx));
 
10142
-
 
10143
       /* Walk the insns adding values to the new_reg_base_value array.  */
 
10144
       for (i = 0; i < rpo_cnt; i++)
 
10145
        {
 
10146
Index: gcc/tree-dfa.c
 
10147
===================================================================
 
10148
--- a/src/gcc/tree-dfa.c        (.../tags/gcc_4_8_2_release)
 
10149
+++ b/src/gcc/tree-dfa.c        (.../branches/gcc-4_8-branch)
 
10150
@@ -386,7 +386,6 @@
 
10151
   double_int bit_offset = double_int_zero;
 
10152
   HOST_WIDE_INT hbit_offset;
 
10153
   bool seen_variable_array_ref = false;
 
10154
-  tree base_type;
 
10155
 
 
10156
   /* First get the final access size from just the outermost expression.  */
 
10157
   if (TREE_CODE (exp) == COMPONENT_REF)
 
10158
@@ -417,8 +416,6 @@
 
10159
      and find the ultimate containing object.  */
 
10160
   while (1)
 
10161
     {
 
10162
-      base_type = TREE_TYPE (exp);
 
10163
-
 
10164
       switch (TREE_CODE (exp))
 
10165
        {
 
10166
        case BIT_FIELD_REF:
 
10167
@@ -543,7 +540,38 @@
 
10168
        case VIEW_CONVERT_EXPR:
 
10169
          break;
 
10170
 
 
10171
+       case TARGET_MEM_REF:
 
10172
+         /* Via the variable index or index2 we can reach the
 
10173
+            whole object.  Still hand back the decl here.  */
 
10174
+         if (TREE_CODE (TMR_BASE (exp)) == ADDR_EXPR
 
10175
+             && (TMR_INDEX (exp) || TMR_INDEX2 (exp)))
 
10176
+           {
 
10177
+             exp = TREE_OPERAND (TMR_BASE (exp), 0);
 
10178
+             bit_offset = double_int_zero;
 
10179
+             maxsize = -1;
 
10180
+             goto done;
 
10181
+           }
 
10182
+         /* Fallthru.  */
 
10183
        case MEM_REF:
 
10184
+         /* We need to deal with variable arrays ending structures such as
 
10185
+            struct { int length; int a[1]; } x;           x.a[d]
 
10186
+            struct { struct { int a; int b; } a[1]; } x;  x.a[d].a
 
10187
+            struct { struct { int a[1]; } a[1]; } x;      x.a[0][d], x.a[d][0]
 
10188
+            struct { int len; union { int a[1]; struct X x; } u; } x; x.u.a[d]
 
10189
+            where we do not know maxsize for variable index accesses to
 
10190
+            the array.  The simplest way to conservatively deal with this
 
10191
+            is to punt in the case that offset + maxsize reaches the
 
10192
+            base type boundary.  This needs to include possible trailing
 
10193
+            padding that is there for alignment purposes.  */
 
10194
+         if (seen_variable_array_ref
 
10195
+             && maxsize != -1
 
10196
+             && (!bit_offset.fits_shwi ()
 
10197
+                 || !host_integerp (TYPE_SIZE (TREE_TYPE (exp)), 1)
 
10198
+                 || (bit_offset.to_shwi () + maxsize
 
10199
+                     == (HOST_WIDE_INT) TREE_INT_CST_LOW
 
10200
+                           (TYPE_SIZE (TREE_TYPE (exp))))))
 
10201
+           maxsize = -1;
 
10202
+
 
10203
          /* Hand back the decl for MEM[&decl, off].  */
 
10204
          if (TREE_CODE (TREE_OPERAND (exp, 0)) == ADDR_EXPR)
 
10205
            {
 
10206
@@ -565,45 +593,24 @@
 
10207
            }
 
10208
          goto done;
 
10209
 
 
10210
-       case TARGET_MEM_REF:
 
10211
-         /* Hand back the decl for MEM[&decl, off].  */
 
10212
-         if (TREE_CODE (TMR_BASE (exp)) == ADDR_EXPR)
 
10213
-           {
 
10214
-             /* Via the variable index or index2 we can reach the
 
10215
-                whole object.  */
 
10216
-             if (TMR_INDEX (exp) || TMR_INDEX2 (exp))
 
10217
-               {
 
10218
-                 exp = TREE_OPERAND (TMR_BASE (exp), 0);
 
10219
-                 bit_offset = double_int_zero;
 
10220
-                 maxsize = -1;
 
10221
-                 goto done;
 
10222
-               }
 
10223
-             if (integer_zerop (TMR_OFFSET (exp)))
 
10224
-               exp = TREE_OPERAND (TMR_BASE (exp), 0);
 
10225
-             else
 
10226
-               {
 
10227
-                 double_int off = mem_ref_offset (exp);
 
10228
-                 off = off.alshift (BITS_PER_UNIT == 8
 
10229
-                                    ? 3 : exact_log2 (BITS_PER_UNIT),
 
10230
-                                    HOST_BITS_PER_DOUBLE_INT);
 
10231
-                 off += bit_offset;
 
10232
-                 if (off.fits_shwi ())
 
10233
-                   {
 
10234
-                     bit_offset = off;
 
10235
-                     exp = TREE_OPERAND (TMR_BASE (exp), 0);
 
10236
-                   }
 
10237
-               }
 
10238
-           }
 
10239
-         goto done;
 
10240
-
 
10241
        default:
 
10242
          goto done;
 
10243
        }
 
10244
 
 
10245
       exp = TREE_OPERAND (exp, 0);
 
10246
     }
 
10247
+
 
10248
+  /* We need to deal with variable arrays ending structures.  */
 
10249
+  if (seen_variable_array_ref
 
10250
+      && maxsize != -1
 
10251
+      && (!bit_offset.fits_shwi ()
 
10252
+         || !host_integerp (TYPE_SIZE (TREE_TYPE (exp)), 1)
 
10253
+         || (bit_offset.to_shwi () + maxsize
 
10254
+             == (HOST_WIDE_INT)
 
10255
+                  TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (exp))))))
 
10256
+    maxsize = -1;
 
10257
+
 
10258
  done:
 
10259
-
 
10260
   if (!bit_offset.fits_shwi ())
 
10261
     {
 
10262
       *poffset = 0;
 
10263
@@ -615,24 +622,6 @@
 
10264
 
 
10265
   hbit_offset = bit_offset.to_shwi ();
 
10266
 
 
10267
-  /* We need to deal with variable arrays ending structures such as
 
10268
-       struct { int length; int a[1]; } x;           x.a[d]
 
10269
-       struct { struct { int a; int b; } a[1]; } x;  x.a[d].a
 
10270
-       struct { struct { int a[1]; } a[1]; } x;      x.a[0][d], x.a[d][0]
 
10271
-       struct { int len; union { int a[1]; struct X x; } u; } x; x.u.a[d]
 
10272
-     where we do not know maxsize for variable index accesses to
 
10273
-     the array.  The simplest way to conservatively deal with this
 
10274
-     is to punt in the case that offset + maxsize reaches the
 
10275
-     base type boundary.  This needs to include possible trailing padding
 
10276
-     that is there for alignment purposes.  */
 
10277
-
 
10278
-  if (seen_variable_array_ref
 
10279
-      && maxsize != -1
 
10280
-      && (!host_integerp (TYPE_SIZE (base_type), 1)
 
10281
-         || (hbit_offset + maxsize
 
10282
-             == (signed) TREE_INT_CST_LOW (TYPE_SIZE (base_type)))))
 
10283
-    maxsize = -1;
 
10284
-
 
10285
   /* In case of a decl or constant base object we can do better.  */
 
10286
 
 
10287
   if (DECL_P (exp))
 
10288
Index: gcc/gimple-fold.c
 
10289
===================================================================
 
10290
--- a/src/gcc/gimple-fold.c     (.../tags/gcc_4_8_2_release)
 
10291
+++ b/src/gcc/gimple-fold.c     (.../branches/gcc-4_8-branch)
 
10292
@@ -178,7 +178,7 @@
 
10293
          /* Make sure we create a cgraph node for functions we'll reference.
 
10294
             They can be non-existent if the reference comes from an entry
 
10295
             of an external vtable for example.  */
 
10296
-         cgraph_get_create_node (base);
 
10297
+         cgraph_get_create_real_symbol_node (base);
 
10298
        }
 
10299
       /* Fixup types in global initializers.  */
 
10300
       if (TREE_TYPE (TREE_TYPE (cval)) != TREE_TYPE (TREE_OPERAND (cval, 0)))
 
10301
Index: gcc/cfgexpand.c
 
10302
===================================================================
 
10303
--- a/src/gcc/cfgexpand.c       (.../tags/gcc_4_8_2_release)
 
10304
+++ b/src/gcc/cfgexpand.c       (.../branches/gcc-4_8-branch)
 
10305
@@ -4707,14 +4707,18 @@
 
10306
          if (e->insns.r)
 
10307
            {
 
10308
              rebuild_jump_labels_chain (e->insns.r);
 
10309
-             /* Avoid putting insns before parm_birth_insn.  */
 
10310
+             /* Put insns after parm birth, but before
 
10311
+                NOTE_INSNS_FUNCTION_BEG.  */
 
10312
              if (e->src == ENTRY_BLOCK_PTR
 
10313
-                 && single_succ_p (ENTRY_BLOCK_PTR)
 
10314
-                 && parm_birth_insn)
 
10315
+                 && single_succ_p (ENTRY_BLOCK_PTR))
 
10316
                {
 
10317
                  rtx insns = e->insns.r;
 
10318
                  e->insns.r = NULL_RTX;
 
10319
-                 emit_insn_after_noloc (insns, parm_birth_insn, e->dest);
 
10320
+                 if (NOTE_P (parm_birth_insn)
 
10321
+                     && NOTE_KIND (parm_birth_insn) == NOTE_INSN_FUNCTION_BEG)
 
10322
+                   emit_insn_before_noloc (insns, parm_birth_insn, e->dest);
 
10323
+                 else
 
10324
+                   emit_insn_after_noloc (insns, parm_birth_insn, e->dest);
 
10325
                }
 
10326
              else
 
10327
                commit_one_edge_insertion (e);
 
10328
Index: gcc/tree-ssa-pre.c
 
10329
===================================================================
 
10330
--- a/src/gcc/tree-ssa-pre.c    (.../tags/gcc_4_8_2_release)
 
10331
+++ b/src/gcc/tree-ssa-pre.c    (.../branches/gcc-4_8-branch)
 
10332
@@ -3664,6 +3664,12 @@
 
10333
       if (dump_file && dump_flags & TDF_DETAILS)
 
10334
        fprintf (dump_file, "Starting insert iteration %d\n", num_iterations);
 
10335
       new_stuff = insert_aux (ENTRY_BLOCK_PTR);
 
10336
+
 
10337
+      /* Clear the NEW sets before the next iteration.  We have already
 
10338
+         fully propagated its contents.  */
 
10339
+      if (new_stuff)
 
10340
+       FOR_ALL_BB (bb)
 
10341
+         bitmap_set_free (NEW_SETS (bb));
 
10342
     }
 
10343
   statistics_histogram_event (cfun, "insert iterations", num_iterations);
 
10344
 }
 
10345
Index: gcc/tree-predcom.c
 
10346
===================================================================
 
10347
--- a/src/gcc/tree-predcom.c    (.../tags/gcc_4_8_2_release)
 
10348
+++ b/src/gcc/tree-predcom.c    (.../branches/gcc-4_8-branch)
 
10349
@@ -1323,90 +1323,43 @@
 
10350
   gsi_insert_after (&bsi, new_stmt, GSI_NEW_STMT);
 
10351
 }
 
10352
 
 
10353
-/* Returns the reference to the address of REF in the ITER-th iteration of
 
10354
-   LOOP, or NULL if we fail to determine it (ITER may be negative).  We
 
10355
-   try to preserve the original shape of the reference (not rewrite it
 
10356
-   as an indirect ref to the address), to make tree_could_trap_p in
 
10357
-   prepare_initializers_chain return false more often.  */
 
10358
+/* Returns a memory reference to DR in the ITER-th iteration of
 
10359
+   the loop it was analyzed in.  Append init stmts to STMTS.  */
 
10360
 
 
10361
-static tree
 
10362
-ref_at_iteration (struct loop *loop, tree ref, int iter)
 
10363
+static tree 
 
10364
+ref_at_iteration (data_reference_p dr, int iter, gimple_seq *stmts)
 
10365
 {
 
10366
-  tree idx, *idx_p, type, val, op0 = NULL_TREE, ret;
 
10367
-  affine_iv iv;
 
10368
-  bool ok;
 
10369
-
 
10370
-  if (handled_component_p (ref))
 
10371
+  tree off = DR_OFFSET (dr);
 
10372
+  tree coff = DR_INIT (dr);
 
10373
+  if (iter == 0)
 
10374
+    ;
 
10375
+  else if (TREE_CODE (DR_STEP (dr)) == INTEGER_CST)
 
10376
+    coff = size_binop (PLUS_EXPR, coff,
 
10377
+                      size_binop (MULT_EXPR, DR_STEP (dr), ssize_int (iter)));
 
10378
+  else
 
10379
+    off = size_binop (PLUS_EXPR, off,
 
10380
+                     size_binop (MULT_EXPR, DR_STEP (dr), ssize_int (iter)));
 
10381
+  tree addr = fold_build_pointer_plus (DR_BASE_ADDRESS (dr), off);
 
10382
+  addr = force_gimple_operand_1 (addr, stmts, is_gimple_mem_ref_addr,
 
10383
+                                NULL_TREE);
 
10384
+  tree alias_ptr = fold_convert (reference_alias_ptr_type (DR_REF (dr)), coff);
 
10385
+  /* While data-ref analysis punts on bit offsets it still handles
 
10386
+     bitfield accesses at byte boundaries.  Cope with that.  Note that
 
10387
+     we cannot simply re-apply the outer COMPONENT_REF because the
 
10388
+     byte-granular portion of it is already applied via DR_INIT and
 
10389
+     DR_OFFSET, so simply build a BIT_FIELD_REF knowing that the bits
 
10390
+     start at offset zero.  */
 
10391
+  if (TREE_CODE (DR_REF (dr)) == COMPONENT_REF
 
10392
+      && DECL_BIT_FIELD (TREE_OPERAND (DR_REF (dr), 1)))
 
10393
     {
 
10394
-      op0 = ref_at_iteration (loop, TREE_OPERAND (ref, 0), iter);
 
10395
-      if (!op0)
 
10396
-       return NULL_TREE;
 
10397
+      tree field = TREE_OPERAND (DR_REF (dr), 1);
 
10398
+      return build3 (BIT_FIELD_REF, TREE_TYPE (DR_REF (dr)),
 
10399
+                    build2 (MEM_REF, DECL_BIT_FIELD_TYPE (field),
 
10400
+                            addr, alias_ptr),
 
10401
+                    DECL_SIZE (field), bitsize_zero_node);
 
10402
     }
 
10403
-  else if (!INDIRECT_REF_P (ref)
 
10404
-          && TREE_CODE (ref) != MEM_REF)
 
10405
-    return unshare_expr (ref);
 
10406
-
 
10407
-  if (TREE_CODE (ref) == MEM_REF)
 
10408
-    {
 
10409
-      ret = unshare_expr (ref);
 
10410
-      idx = TREE_OPERAND (ref, 0);
 
10411
-      idx_p = &TREE_OPERAND (ret, 0);
 
10412
-    }
 
10413
-  else if (TREE_CODE (ref) == COMPONENT_REF)
 
10414
-    {
 
10415
-      /* Check that the offset is loop invariant.  */
 
10416
-      if (TREE_OPERAND (ref, 2)
 
10417
-         && !expr_invariant_in_loop_p (loop, TREE_OPERAND (ref, 2)))
 
10418
-       return NULL_TREE;
 
10419
-
 
10420
-      return build3 (COMPONENT_REF, TREE_TYPE (ref), op0,
 
10421
-                    unshare_expr (TREE_OPERAND (ref, 1)),
 
10422
-                    unshare_expr (TREE_OPERAND (ref, 2)));
 
10423
-    }
 
10424
-  else if (TREE_CODE (ref) == ARRAY_REF)
 
10425
-    {
 
10426
-      /* Check that the lower bound and the step are loop invariant.  */
 
10427
-      if (TREE_OPERAND (ref, 2)
 
10428
-         && !expr_invariant_in_loop_p (loop, TREE_OPERAND (ref, 2)))
 
10429
-       return NULL_TREE;
 
10430
-      if (TREE_OPERAND (ref, 3)
 
10431
-         && !expr_invariant_in_loop_p (loop, TREE_OPERAND (ref, 3)))
 
10432
-       return NULL_TREE;
 
10433
-
 
10434
-      ret = build4 (ARRAY_REF, TREE_TYPE (ref), op0, NULL_TREE,
 
10435
-                   unshare_expr (TREE_OPERAND (ref, 2)),
 
10436
-                   unshare_expr (TREE_OPERAND (ref, 3)));
 
10437
-      idx = TREE_OPERAND (ref, 1);
 
10438
-      idx_p = &TREE_OPERAND (ret, 1);
 
10439
-    }
 
10440
   else
 
10441
-    return NULL_TREE;
 
10442
-
 
10443
-  ok = simple_iv (loop, loop, idx, &iv, true);
 
10444
-  if (!ok)
 
10445
-    return NULL_TREE;
 
10446
-  iv.base = expand_simple_operations (iv.base);
 
10447
-  if (integer_zerop (iv.step))
 
10448
-    *idx_p = unshare_expr (iv.base);
 
10449
-  else
 
10450
-    {
 
10451
-      type = TREE_TYPE (iv.base);
 
10452
-      if (POINTER_TYPE_P (type))
 
10453
-       {
 
10454
-         val = fold_build2 (MULT_EXPR, sizetype, iv.step,
 
10455
-                            size_int (iter));
 
10456
-         val = fold_build_pointer_plus (iv.base, val);
 
10457
-       }
 
10458
-      else
 
10459
-       {
 
10460
-         val = fold_build2 (MULT_EXPR, type, iv.step,
 
10461
-                            build_int_cst_type (type, iter));
 
10462
-         val = fold_build2 (PLUS_EXPR, type, iv.base, val);
 
10463
-       }
 
10464
-      *idx_p = unshare_expr (val);
 
10465
-    }
 
10466
-
 
10467
-  return ret;
 
10468
+    return fold_build2 (MEM_REF, TREE_TYPE (DR_REF (dr)), addr, alias_ptr);
 
10469
 }
 
10470
 
 
10471
 /* Get the initialization expression for the INDEX-th temporary variable
 
10472
@@ -2068,7 +2021,11 @@
 
10473
 
 
10474
   stmt = find_common_use_stmt (&name1, &name2);
 
10475
 
 
10476
-  if (!stmt)
 
10477
+  if (!stmt
 
10478
+      /* A simple post-dominance check - make sure the combination
 
10479
+         is executed under the same condition as the references.  */
 
10480
+      || (gimple_bb (stmt) != gimple_bb (r1->stmt)
 
10481
+         && gimple_bb (stmt) != gimple_bb (r2->stmt)))
 
10482
     return false;
 
10483
 
 
10484
   acode = gimple_assign_rhs_code (stmt);
 
10485
@@ -2365,14 +2322,10 @@
 
10486
       if (chain->inits[i] != NULL_TREE)
 
10487
        continue;
 
10488
 
 
10489
-      init = ref_at_iteration (loop, DR_REF (dr), (int) i - n);
 
10490
-      if (!init)
 
10491
-       return false;
 
10492
-
 
10493
+      init = ref_at_iteration (dr, (int) i - n, &stmts);
 
10494
       if (!chain->all_always_accessed && tree_could_trap_p (init))
 
10495
        return false;
 
10496
 
 
10497
-      init = force_gimple_operand (init, &stmts, false, NULL_TREE);
 
10498
       if (stmts)
 
10499
        gsi_insert_seq_on_edge_immediate (entry, stmts);
 
10500
 
 
10501
Index: gcc/loop-iv.c
 
10502
===================================================================
 
10503
--- a/src/gcc/loop-iv.c (.../tags/gcc_4_8_2_release)
 
10504
+++ b/src/gcc/loop-iv.c (.../branches/gcc-4_8-branch)
 
10505
@@ -425,7 +425,9 @@
 
10506
       && !iv->first_special)
 
10507
     {
 
10508
       rtx val = get_iv_value (iv, const0_rtx);
 
10509
-      val = lowpart_subreg (mode, val, iv->extend_mode);
 
10510
+      val = lowpart_subreg (mode, val,
 
10511
+                           iv->extend == IV_UNKNOWN_EXTEND
 
10512
+                           ? iv->mode : iv->extend_mode);
 
10513
 
 
10514
       iv->base = val;
 
10515
       iv->extend = IV_UNKNOWN_EXTEND;
 
10516
@@ -465,8 +467,14 @@
 
10517
       && !iv->first_special)
 
10518
     {
 
10519
       rtx val = get_iv_value (iv, const0_rtx);
 
10520
+      if (iv->extend_mode != iv->mode
 
10521
+         && iv->extend != IV_UNKNOWN_EXTEND
 
10522
+         && iv->extend != extend)
 
10523
+       val = lowpart_subreg (iv->mode, val, iv->extend_mode);
 
10524
       val = simplify_gen_unary (iv_extend_to_rtx_code (extend), mode,
 
10525
-                               val, iv->extend_mode);
 
10526
+                               val,
 
10527
+                               iv->extend == extend
 
10528
+                               ? iv->extend_mode : iv->mode);
 
10529
       iv->base = val;
 
10530
       iv->extend = IV_UNKNOWN_EXTEND;
 
10531
       iv->mode = iv->extend_mode = mode;
 
10532
Index: gcc/ipa-prop.c
 
10533
===================================================================
 
10534
--- a/src/gcc/ipa-prop.c        (.../tags/gcc_4_8_2_release)
 
10535
+++ b/src/gcc/ipa-prop.c        (.../branches/gcc-4_8-branch)
 
10536
@@ -740,7 +740,7 @@
 
10537
 ipa_load_from_parm_agg_1 (vec<ipa_param_descriptor_t> descriptors,
 
10538
                          struct param_analysis_info *parms_ainfo, gimple stmt,
 
10539
                          tree op, int *index_p, HOST_WIDE_INT *offset_p,
 
10540
-                         bool *by_ref_p)
 
10541
+                         HOST_WIDE_INT *size_p, bool *by_ref_p)
 
10542
 {
 
10543
   int index;
 
10544
   HOST_WIDE_INT size, max_size;
 
10545
@@ -758,6 +758,8 @@
 
10546
        {
 
10547
          *index_p = index;
 
10548
          *by_ref_p = false;
 
10549
+         if (size_p)
 
10550
+           *size_p = size;
 
10551
          return true;
 
10552
        }
 
10553
       return false;
 
10554
@@ -800,6 +802,8 @@
 
10555
     {
 
10556
       *index_p = index;
 
10557
       *by_ref_p = true;
 
10558
+      if (size_p)
 
10559
+       *size_p = size;
 
10560
       return true;
 
10561
     }
 
10562
   return false;
 
10563
@@ -814,7 +818,7 @@
 
10564
                        bool *by_ref_p)
 
10565
 {
 
10566
   return ipa_load_from_parm_agg_1 (info->descriptors, NULL, stmt, op, index_p,
 
10567
-                                  offset_p, by_ref_p);
 
10568
+                                  offset_p, NULL, by_ref_p);
 
10569
 }
 
10570
 
 
10571
 /* Given that an actual argument is an SSA_NAME (given in NAME) and is a result
 
10572
@@ -1646,7 +1650,7 @@
 
10573
   if (gimple_assign_single_p (def)
 
10574
       && ipa_load_from_parm_agg_1 (info->descriptors, parms_ainfo, def,
 
10575
                                   gimple_assign_rhs1 (def), &index, &offset,
 
10576
-                                  &by_ref))
 
10577
+                                  NULL, &by_ref))
 
10578
     {
 
10579
       struct cgraph_edge *cs = ipa_note_param_call (node, index, call);
 
10580
       cs->indirect_info->offset = offset;
 
10581
@@ -2126,7 +2130,6 @@
 
10582
      we may create the first reference to the object in the unit.  */
 
10583
   if (!callee || callee->global.inlined_to)
 
10584
     {
 
10585
-      struct cgraph_node *first_clone = callee;
 
10586
 
 
10587
       /* We are better to ensure we can refer to it.
 
10588
         In the case of static functions we are out of luck, since we already   
 
10589
@@ -2142,31 +2145,7 @@
 
10590
                     xstrdup (cgraph_node_name (ie->callee)), ie->callee->uid);
 
10591
          return NULL;
 
10592
        }
 
10593
-
 
10594
-      /* Create symbol table node.  Even if inline clone exists, we can not take
 
10595
-        it as a target of non-inlined call.  */
 
10596
-      callee = cgraph_create_node (target);
 
10597
-
 
10598
-      /* OK, we previously inlined the function, then removed the offline copy and
 
10599
-        now we want it back for external call.  This can happen when devirtualizing
 
10600
-        while inlining function called once that happens after extern inlined and
 
10601
-        virtuals are already removed.  In this case introduce the external node
 
10602
-        and make it available for call.  */
 
10603
-      if (first_clone)
 
10604
-       {
 
10605
-         first_clone->clone_of = callee;
 
10606
-         callee->clones = first_clone;
 
10607
-         symtab_prevail_in_asm_name_hash ((symtab_node)callee);
 
10608
-         symtab_insert_node_to_hashtable ((symtab_node)callee);
 
10609
-         if (dump_file)
 
10610
-           fprintf (dump_file, "ipa-prop: Introduced new external node "
 
10611
-                    "(%s/%i) and turned into root of the clone tree.\n",
 
10612
-                    xstrdup (cgraph_node_name (callee)), callee->uid);
 
10613
-       }
 
10614
-      else if (dump_file)
 
10615
-       fprintf (dump_file, "ipa-prop: Introduced new external node "
 
10616
-                "(%s/%i).\n",
 
10617
-                xstrdup (cgraph_node_name (callee)), callee->uid);
 
10618
+      callee = cgraph_get_create_real_symbol_node (target);
 
10619
     }
 
10620
   ipa_check_create_node_params ();
 
10621
 
 
10622
@@ -3902,7 +3881,7 @@
 
10623
        struct ipa_agg_replacement_value *v;
 
10624
        gimple stmt = gsi_stmt (gsi);
 
10625
        tree rhs, val, t;
 
10626
-       HOST_WIDE_INT offset;
 
10627
+       HOST_WIDE_INT offset, size;
 
10628
        int index;
 
10629
        bool by_ref, vce;
 
10630
 
 
10631
@@ -3929,13 +3908,15 @@
 
10632
          continue;
 
10633
 
 
10634
        if (!ipa_load_from_parm_agg_1 (descriptors, parms_ainfo, stmt,
 
10635
-                                      rhs, &index, &offset, &by_ref))
 
10636
+                                      rhs, &index, &offset, &size, &by_ref))
 
10637
          continue;
 
10638
        for (v = aggval; v; v = v->next)
 
10639
          if (v->index == index
 
10640
              && v->offset == offset)
 
10641
            break;
 
10642
-       if (!v || v->by_ref != by_ref)
 
10643
+       if (!v
 
10644
+           || v->by_ref != by_ref
 
10645
+           || tree_low_cst (TYPE_SIZE (TREE_TYPE (v->value)), 0) != size)
 
10646
          continue;
 
10647
 
 
10648
        gcc_checking_assert (is_gimple_ip_invariant (v->value));
 
10649
Index: gcc/combine.c
 
10650
===================================================================
 
10651
--- a/src/gcc/combine.c (.../tags/gcc_4_8_2_release)
 
10652
+++ b/src/gcc/combine.c (.../branches/gcc-4_8-branch)
 
10653
@@ -5798,8 +5798,15 @@
 
10654
                return x;
 
10655
            }
 
10656
 
 
10657
-         /* If the code changed, return a whole new comparison.  */
 
10658
-         if (new_code != code)
 
10659
+         /* If the code changed, return a whole new comparison.
 
10660
+            We also need to avoid using SUBST in cases where
 
10661
+            simplify_comparison has widened a comparison with a CONST_INT,
 
10662
+            since in that case the wider CONST_INT may fail the sanity
 
10663
+            checks in do_SUBST.  */
 
10664
+         if (new_code != code
 
10665
+             || (CONST_INT_P (op1)
 
10666
+                 && GET_MODE (op0) != GET_MODE (XEXP (x, 0))
 
10667
+                 && GET_MODE (op0) != GET_MODE (XEXP (x, 1))))
 
10668
            return gen_rtx_fmt_ee (new_code, mode, op0, op1);
 
10669
 
 
10670
          /* Otherwise, keep this operation, but maybe change its operands.
 
10671
Index: gcc/Makefile.in
 
10672
===================================================================
 
10673
--- a/src/gcc/Makefile.in       (.../tags/gcc_4_8_2_release)
 
10674
+++ b/src/gcc/Makefile.in       (.../branches/gcc-4_8-branch)
 
10675
@@ -3037,7 +3037,7 @@
 
10676
     $(TM_H) coretypes.h $(GIMPLE_H) \
 
10677
     $(TREE_PASS_H) $(FLAGS_H) $(EXPR_H) $(BASIC_BLOCK_H) \
 
10678
     $(GGC_H) $(OBSTACK_H) $(PARAMS_H) $(CPPLIB_H) $(PARAMS_H) \
 
10679
-    $(GIMPLE_PRETTY_PRINT_H) langhooks.h
 
10680
+    $(GIMPLE_PRETTY_PRINT_H) langhooks.h $(OPTABS_H)
 
10681
 tree-complex.o : tree-complex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
 
10682
     $(TM_H) $(FLAGS_H) $(TREE_FLOW_H) $(GIMPLE_H) \
 
10683
     tree-iterator.h $(TREE_PASS_H) tree-ssa-propagate.h
 
10684
@@ -3276,12 +3276,12 @@
 
10685
    $(TM_H) $(RTL_H) $(REGS_H) insn-config.h insn-codes.h $(DF_H) \
 
10686
    $(RECOG_H) output.h addresses.h $(REGS_H) hard-reg-set.h $(FLAGS_H) \
 
10687
    $(FUNCTION_H) $(EXPR_H) $(BASIC_BLOCK_H) $(TM_P_H) $(EXCEPT_H) \
 
10688
-   ira.h rtl-error.h $(LRA_INT_H)
 
10689
+   ira.h rtl-error.h $(LRA_INT_H) $(OPTABS_H)
 
10690
 lra-eliminations.o : lra-eliminations.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
 
10691
    $(TM_H) $(RTL_H) $(REGS_H) insn-config.h $(DF_H) \
 
10692
    $(RECOG_H) output.h $(REGS_H) hard-reg-set.h $(FLAGS_H) $(FUNCTION_H) \
 
10693
    $(EXPR_H) $(BASIC_BLOCK_H) $(TM_P_H) $(EXCEPT_H) ira.h \
 
10694
-   rtl-error.h $(LRA_INT_H)
 
10695
+   rtl-error.h $(LRA_INT_H) $(OPTABS_H)
 
10696
 lra-lives.o : lra-lives.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
 
10697
    $(RTL_H) $(REGS_H) insn-config.h $(DF_H) \
 
10698
    $(RECOG_H) output.h $(REGS_H) hard-reg-set.h $(FLAGS_H) $(FUNCTION_H) \
 
10699
Index: gcc/config/s390/s390.c
 
10700
===================================================================
 
10701
--- a/src/gcc/config/s390/s390.c        (.../tags/gcc_4_8_2_release)
 
10702
+++ b/src/gcc/config/s390/s390.c        (.../branches/gcc-4_8-branch)
 
10703
@@ -883,7 +883,8 @@
 
10704
        {
 
10705
          /* For CCRAWmode put the required cc mask into the second
 
10706
             operand.  */
 
10707
-         if (GET_MODE (XVECEXP (*op0, 0, 0)) == CCRAWmode)
 
10708
+        if (GET_MODE (XVECEXP (*op0, 0, 0)) == CCRAWmode
 
10709
+            && INTVAL (*op1) >= 0 && INTVAL (*op1) <= 3)
 
10710
            *op1 = gen_rtx_CONST_INT (VOIDmode, 1 << (3 - INTVAL (*op1)));
 
10711
          *op0 = XVECEXP (*op0, 0, 0);
 
10712
          *code = new_code;
 
10713
@@ -7846,6 +7847,9 @@
 
10714
     {
 
10715
       bb = BASIC_BLOCK (bb_index);
 
10716
 
 
10717
+      if (!bb)
 
10718
+       continue;
 
10719
+
 
10720
       FOR_BB_INSNS (bb, insn)
 
10721
        {
 
10722
          rtx ite, cc, pat, target;
 
10723
@@ -7959,7 +7963,10 @@
 
10724
   if (!result)
 
10725
     return;
 
10726
 
 
10727
-  PATTERN (tbegin_insn) = XVECEXP (PATTERN (tbegin_insn), 0, 0);
 
10728
+  PATTERN (tbegin_insn) = gen_rtx_PARALLEL (VOIDmode,
 
10729
+                           gen_rtvec (2,
 
10730
+                                      XVECEXP (PATTERN (tbegin_insn), 0, 0),
 
10731
+                                      XVECEXP (PATTERN (tbegin_insn), 0, 1)));
 
10732
   INSN_CODE (tbegin_insn) = -1;
 
10733
   df_insn_rescan (tbegin_insn);
 
10734
 
 
10735
@@ -9573,6 +9580,7 @@
 
10736
   const int CC3 = 1 << 0;
 
10737
   rtx abort_label = gen_label_rtx ();
 
10738
   rtx leave_label = gen_label_rtx ();
 
10739
+  rtx retry_plus_two = gen_reg_rtx (SImode);
 
10740
   rtx retry_reg = gen_reg_rtx (SImode);
 
10741
   rtx retry_label = NULL_RTX;
 
10742
   rtx jump;
 
10743
@@ -9581,16 +9589,17 @@
 
10744
   if (retry != NULL_RTX)
 
10745
     {
 
10746
       emit_move_insn (retry_reg, retry);
 
10747
+      emit_insn (gen_addsi3 (retry_plus_two, retry_reg, const2_rtx));
 
10748
+      emit_insn (gen_addsi3 (retry_reg, retry_reg, const1_rtx));
 
10749
       retry_label = gen_label_rtx ();
 
10750
       emit_label (retry_label);
 
10751
     }
 
10752
 
 
10753
   if (clobber_fprs_p)
 
10754
-    emit_insn (gen_tbegin_1 (tdb,
 
10755
-                gen_rtx_CONST_INT (VOIDmode, TBEGIN_MASK)));
 
10756
+    emit_insn (gen_tbegin_1 (gen_rtx_CONST_INT (VOIDmode, TBEGIN_MASK), tdb));
 
10757
   else
 
10758
-    emit_insn (gen_tbegin_nofloat_1 (tdb,
 
10759
-                gen_rtx_CONST_INT (VOIDmode, TBEGIN_MASK)));
 
10760
+    emit_insn (gen_tbegin_nofloat_1 (gen_rtx_CONST_INT (VOIDmode, TBEGIN_MASK),
 
10761
+                                    tdb));
 
10762
 
 
10763
   jump = s390_emit_jump (abort_label,
 
10764
                         gen_rtx_NE (VOIDmode,
 
10765
@@ -9611,6 +9620,10 @@
 
10766
   /* Abort handler code.  */
 
10767
 
 
10768
   emit_label (abort_label);
 
10769
+  emit_move_insn (dest, gen_rtx_UNSPEC (SImode,
 
10770
+                                       gen_rtvec (1, gen_rtx_REG (CCRAWmode,
 
10771
+                                                                  CC_REGNUM)),
 
10772
+                                       UNSPEC_CC_TO_INT));
 
10773
   if (retry != NULL_RTX)
 
10774
     {
 
10775
       rtx count = gen_reg_rtx (SImode);
 
10776
@@ -9622,7 +9635,7 @@
 
10777
       add_reg_note (jump, REG_BR_PROB, very_unlikely);
 
10778
 
 
10779
       /* CC2 - transient failure. Perform retry with ppa.  */
 
10780
-      emit_move_insn (count, retry);
 
10781
+      emit_move_insn (count, retry_plus_two);
 
10782
       emit_insn (gen_subsi3 (count, count, retry_reg));
 
10783
       emit_insn (gen_tx_assist (count));
 
10784
       jump = emit_jump_insn (gen_doloop_si64 (retry_label,
 
10785
@@ -9632,10 +9645,6 @@
 
10786
       LABEL_NUSES (retry_label) = 1;
 
10787
     }
 
10788
 
 
10789
-  emit_move_insn (dest, gen_rtx_UNSPEC (SImode,
 
10790
-                                       gen_rtvec (1, gen_rtx_REG (CCRAWmode,
 
10791
-                                                                  CC_REGNUM)),
 
10792
-                                       UNSPEC_CC_TO_INT));
 
10793
   emit_label (leave_label);
 
10794
 }
 
10795
 
 
10796
@@ -9674,6 +9683,9 @@
 
10797
 s390_init_builtins (void)
 
10798
 {
 
10799
   tree ftype, uint64_type;
 
10800
+  tree returns_twice_attr = tree_cons (get_identifier ("returns_twice"),
 
10801
+                                      NULL, NULL);
 
10802
+  tree noreturn_attr = tree_cons (get_identifier ("noreturn"), NULL, NULL);
 
10803
 
 
10804
   /* void foo (void) */
 
10805
   ftype = build_function_type_list (void_type_node, NULL_TREE);
 
10806
@@ -9684,17 +9696,17 @@
 
10807
   ftype = build_function_type_list (void_type_node, integer_type_node,
 
10808
                                    NULL_TREE);
 
10809
   add_builtin_function ("__builtin_tabort", ftype,
 
10810
-                       S390_BUILTIN_TABORT, BUILT_IN_MD, NULL, NULL_TREE);
 
10811
+                       S390_BUILTIN_TABORT, BUILT_IN_MD, NULL, noreturn_attr);
 
10812
   add_builtin_function ("__builtin_tx_assist", ftype,
 
10813
                        S390_BUILTIN_TX_ASSIST, BUILT_IN_MD, NULL, NULL_TREE);
 
10814
 
 
10815
   /* int foo (void *) */
 
10816
   ftype = build_function_type_list (integer_type_node, ptr_type_node, NULL_TREE);
 
10817
   add_builtin_function ("__builtin_tbegin", ftype, S390_BUILTIN_TBEGIN,
 
10818
-                       BUILT_IN_MD, NULL, NULL_TREE);
 
10819
+                       BUILT_IN_MD, NULL, returns_twice_attr);
 
10820
   add_builtin_function ("__builtin_tbegin_nofloat", ftype,
 
10821
                        S390_BUILTIN_TBEGIN_NOFLOAT,
 
10822
-                       BUILT_IN_MD, NULL, NULL_TREE);
 
10823
+                       BUILT_IN_MD, NULL, returns_twice_attr);
 
10824
 
 
10825
   /* int foo (void *, int) */
 
10826
   ftype = build_function_type_list (integer_type_node, ptr_type_node,
 
10827
@@ -9702,11 +9714,11 @@
 
10828
   add_builtin_function ("__builtin_tbegin_retry", ftype,
 
10829
                        S390_BUILTIN_TBEGIN_RETRY,
 
10830
                        BUILT_IN_MD,
 
10831
-                       NULL, NULL_TREE);
 
10832
+                       NULL, returns_twice_attr);
 
10833
   add_builtin_function ("__builtin_tbegin_retry_nofloat", ftype,
 
10834
                        S390_BUILTIN_TBEGIN_RETRY_NOFLOAT,
 
10835
                        BUILT_IN_MD,
 
10836
-                       NULL, NULL_TREE);
 
10837
+                       NULL, returns_twice_attr);
 
10838
 
 
10839
   /* int foo (void) */
 
10840
   ftype = build_function_type_list (integer_type_node, NULL_TREE);
 
10841
Index: gcc/config/s390/s390.md
 
10842
===================================================================
 
10843
--- a/src/gcc/config/s390/s390.md       (.../tags/gcc_4_8_2_release)
 
10844
+++ b/src/gcc/config/s390/s390.md       (.../branches/gcc-4_8-branch)
 
10845
@@ -147,6 +147,7 @@
 
10846
 
 
10847
    ; Transactional Execution support
 
10848
    UNSPECV_TBEGIN
 
10849
+   UNSPECV_TBEGIN_TDB
 
10850
    UNSPECV_TBEGINC
 
10851
    UNSPECV_TEND
 
10852
    UNSPECV_TABORT
 
10853
@@ -9896,9 +9897,10 @@
 
10854
 
 
10855
 (define_insn "tbegin_1"
 
10856
   [(set (reg:CCRAW CC_REGNUM)
 
10857
-       (unspec_volatile:CCRAW [(match_operand:BLK 0 "memory_operand"    "=Q")
 
10858
-                               (match_operand     1 "const_int_operand" " D")]
 
10859
+       (unspec_volatile:CCRAW [(match_operand 0 "const_int_operand" "D")]
 
10860
                               UNSPECV_TBEGIN))
 
10861
+   (set (match_operand:BLK 1 "memory_operand" "=Q")
 
10862
+       (unspec_volatile:BLK [(match_dup 0)] UNSPECV_TBEGIN_TDB))
 
10863
    (clobber (reg:DF 16))
 
10864
    (clobber (reg:DF 17))
 
10865
    (clobber (reg:DF 18))
 
10866
@@ -9917,18 +9919,19 @@
 
10867
    (clobber (reg:DF 31))]
 
10868
 ; CONST_OK_FOR_CONSTRAINT_P does not work with D constraint since D is
 
10869
 ; not supposed to be used for immediates (see genpreds.c).
 
10870
-  "TARGET_HTM && INTVAL (operands[1]) >= 0 && INTVAL (operands[1]) <= 0xffff"
 
10871
-  "tbegin\t%0,%x1"
 
10872
+  "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
 
10873
+  "tbegin\t%1,%x0"
 
10874
   [(set_attr "op_type" "SIL")])
 
10875
 
 
10876
 ; Same as above but without the FPR clobbers
 
10877
 (define_insn "tbegin_nofloat_1"
 
10878
   [(set (reg:CCRAW CC_REGNUM)
 
10879
-       (unspec_volatile:CCRAW [(match_operand:BLK 0 "memory_operand"    "=Q")
 
10880
-                               (match_operand     1 "const_int_operand" " D")]
 
10881
-                              UNSPECV_TBEGIN))]
 
10882
-  "TARGET_HTM && INTVAL (operands[1]) >= 0 && INTVAL (operands[1]) <= 0xffff"
 
10883
-  "tbegin\t%0,%x1"
 
10884
+       (unspec_volatile:CCRAW [(match_operand 0 "const_int_operand" "D")]
 
10885
+                              UNSPECV_TBEGIN))
 
10886
+   (set (match_operand:BLK 1 "memory_operand" "=Q")
 
10887
+       (unspec_volatile:BLK [(match_dup 0)] UNSPECV_TBEGIN_TDB))]
 
10888
+  "TARGET_HTM && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 0xffff"
 
10889
+  "tbegin\t%1,%x0"
 
10890
   [(set_attr "op_type" "SIL")])
 
10891
 
 
10892
 
 
10893
@@ -10012,15 +10015,12 @@
 
10894
 ; Transaction perform processor assist
 
10895
 
 
10896
 (define_expand "tx_assist"
 
10897
-  [(set (match_dup 1) (const_int 0))
 
10898
-   (unspec_volatile [(match_operand:SI 0 "register_operand" "")
 
10899
-                    (match_dup 1)
 
10900
+  [(unspec_volatile [(match_operand:SI 0 "register_operand" "")
 
10901
+                    (reg:SI GPR0_REGNUM)
 
10902
                     (const_int 1)]
 
10903
                    UNSPECV_PPA)]
 
10904
   "TARGET_HTM"
 
10905
-{
 
10906
-  operands[1] = gen_reg_rtx (SImode);
 
10907
-})
 
10908
+  "")
 
10909
 
 
10910
 (define_insn "*ppa"
 
10911
   [(unspec_volatile [(match_operand:SI 0 "register_operand" "d")
 
10912
@@ -10028,5 +10028,5 @@
 
10913
                     (match_operand 2 "const_int_operand" "I")]
 
10914
                    UNSPECV_PPA)]
 
10915
   "TARGET_HTM && INTVAL (operands[2]) < 16"
 
10916
-  "ppa\t%0,%1,1"
 
10917
+  "ppa\t%0,%1,%2"
 
10918
   [(set_attr "op_type" "RRF")])
 
10919
Index: gcc/config/s390/htmxlintrin.h
 
10920
===================================================================
 
10921
--- a/src/gcc/config/s390/htmxlintrin.h (.../tags/gcc_4_8_2_release)
 
10922
+++ b/src/gcc/config/s390/htmxlintrin.h (.../branches/gcc-4_8-branch)
 
10923
@@ -33,13 +33,20 @@
 
10924
    the IBM XL compiler.  For documentation please see the "z/OS XL
 
10925
    C/C++ Programming Guide" publically available on the web.  */
 
10926
 
 
10927
-extern __inline long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 
10928
+/* FIXME: __TM_simple_begin and __TM_begin should be marked
 
10929
+   __always_inline__ as well but this currently produces an error
 
10930
+   since the tbegin builtins are "returns_twice" and setjmp_call_p
 
10931
+   (calls.c) therefore identifies the functions as calling setjmp.
 
10932
+   The tree inliner currently refuses to inline functions calling
 
10933
+   setjmp.  */
 
10934
+
 
10935
+long
 
10936
 __TM_simple_begin ()
 
10937
 {
 
10938
   return __builtin_tbegin_nofloat (0);
 
10939
 }
 
10940
 
 
10941
-extern __inline long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 
10942
+long
 
10943
 __TM_begin (void* const tdb)
 
10944
 {
 
10945
   return __builtin_tbegin_nofloat (tdb);
 
10946
@@ -78,7 +85,7 @@
 
10947
   if (depth != 0)
 
10948
     return depth;
 
10949
 
 
10950
-  if (tdb->format == 0)
 
10951
+  if (tdb->format != 1)
 
10952
     return 0;
 
10953
   return tdb->nesting_depth;
 
10954
 }
 
10955
@@ -90,7 +97,7 @@
 
10956
 {
 
10957
   struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
 
10958
 
 
10959
-  if (tdb->format == 0)
 
10960
+  if (tdb->format != 1)
 
10961
     return 0;
 
10962
 
 
10963
   return !!(tdb->abort_code >= _HTM_FIRST_USER_ABORT_CODE);
 
10964
@@ -101,7 +108,7 @@
 
10965
 {
 
10966
   struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
 
10967
 
 
10968
-  if (tdb->format == 0)
 
10969
+  if (tdb->format != 1)
 
10970
     return 0;
 
10971
 
 
10972
   if (tdb->abort_code >= _HTM_FIRST_USER_ABORT_CODE)
 
10973
@@ -117,7 +124,7 @@
 
10974
 {
 
10975
   struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
 
10976
 
 
10977
-  return (tdb->format == 0
 
10978
+  return (tdb->format == 1
 
10979
          && (tdb->abort_code == 4 /* unfiltered program interruption */
 
10980
              || tdb->abort_code == 11 /* restricted instruction */));
 
10981
 }
 
10982
@@ -127,7 +134,7 @@
 
10983
 {
 
10984
   struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
 
10985
 
 
10986
-  return (tdb->format == 0
 
10987
+  return (tdb->format == 1
 
10988
          && (tdb->abort_code == 7 /* fetch overflow */
 
10989
              || tdb->abort_code == 8 /* store overflow */));
 
10990
 }
 
10991
@@ -137,7 +144,7 @@
 
10992
 {
 
10993
   struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
 
10994
 
 
10995
-  return tdb->format == 0 && tdb->abort_code == 13; /* depth exceeded */
 
10996
+  return tdb->format == 1 && tdb->abort_code == 13; /* depth exceeded */
 
10997
 }
 
10998
 
 
10999
 extern __inline long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 
11000
@@ -145,7 +152,7 @@
 
11001
 {
 
11002
   struct __htm_tdb *tdb = (struct __htm_tdb*)tdb_ptr;
 
11003
 
 
11004
-  return (tdb->format == 0
 
11005
+  return (tdb->format == 1
 
11006
          && (tdb->abort_code == 9 /* fetch conflict */
 
11007
              || tdb->abort_code == 10 /* store conflict */));
 
11008
 }
 
11009
Index: gcc/config/sparc/sparc.c
 
11010
===================================================================
 
11011
--- a/src/gcc/config/sparc/sparc.c      (.../tags/gcc_4_8_2_release)
 
11012
+++ b/src/gcc/config/sparc/sparc.c      (.../branches/gcc-4_8-branch)
 
11013
@@ -10355,7 +10355,8 @@
 
11014
              tmp = e0.add_with_sign (tmp, false, &add1_ovf);
 
11015
              if (tmp.is_negative ())
 
11016
                tmp = tmp.neg_with_overflow (&neg2_ovf);
 
11017
-
 
11018
+             else
 
11019
+               neg2_ovf = false;
 
11020
              result = result.add_with_sign (tmp, false, &add2_ovf);
 
11021
              overflow |= neg1_ovf | neg2_ovf | add1_ovf | add2_ovf;
 
11022
            }
 
11023
Index: gcc/config/i386/i386.md
 
11024
===================================================================
 
11025
--- a/src/gcc/config/i386/i386.md       (.../tags/gcc_4_8_2_release)
 
11026
+++ b/src/gcc/config/i386/i386.md       (.../branches/gcc-4_8-branch)
 
11027
@@ -1570,7 +1570,7 @@
 
11028
   split_double_mode (DImode, &operands[1], 1, &operands[2], &operands[3]);
 
11029
 
 
11030
   operands[1] = gen_lowpart (DImode, operands[2]);
 
11031
-  operands[2] = gen_rtx_MEM (SImode, gen_rtx_PLUS (DImode, stack_pointer_rtx,
 
11032
+  operands[2] = gen_rtx_MEM (SImode, gen_rtx_PLUS (Pmode, stack_pointer_rtx,
 
11033
                                                   GEN_INT (4)));
 
11034
 })
 
11035
 
 
11036
@@ -1587,7 +1587,7 @@
 
11037
   split_double_mode (DImode, &operands[1], 1, &operands[2], &operands[3]);
 
11038
 
 
11039
   operands[1] = gen_lowpart (DImode, operands[2]);
 
11040
-  operands[2] = gen_rtx_MEM (SImode, gen_rtx_PLUS (DImode, stack_pointer_rtx,
 
11041
+  operands[2] = gen_rtx_MEM (SImode, gen_rtx_PLUS (Pmode, stack_pointer_rtx,
 
11042
                                                   GEN_INT (4)));
 
11043
 })
 
11044
 
 
11045
@@ -6589,7 +6589,7 @@
 
11046
    (set_attr "use_carry" "1")
 
11047
    (set_attr "mode" "<MODE>")])
 
11048
 
 
11049
-;; Overflow setting add and subtract instructions
 
11050
+;; Overflow setting add instructions
 
11051
 
 
11052
 (define_insn "*add<mode>3_cconly_overflow"
 
11053
   [(set (reg:CCC FLAGS_REG)
 
11054
@@ -6604,43 +6604,31 @@
 
11055
   [(set_attr "type" "alu")
 
11056
    (set_attr "mode" "<MODE>")])
 
11057
 
 
11058
-(define_insn "*sub<mode>3_cconly_overflow"
 
11059
+(define_insn "*add<mode>3_cc_overflow"
 
11060
   [(set (reg:CCC FLAGS_REG)
 
11061
        (compare:CCC
 
11062
-         (minus:SWI
 
11063
-           (match_operand:SWI 0 "nonimmediate_operand" "<r>m,<r>")
 
11064
-           (match_operand:SWI 1 "<general_operand>" "<r><i>,<r>m"))
 
11065
-         (match_dup 0)))]
 
11066
-  ""
 
11067
-  "cmp{<imodesuffix>}\t{%1, %0|%0, %1}"
 
11068
-  [(set_attr "type" "icmp")
 
11069
-   (set_attr "mode" "<MODE>")])
 
11070
-
 
11071
-(define_insn "*<plusminus_insn><mode>3_cc_overflow"
 
11072
-  [(set (reg:CCC FLAGS_REG)
 
11073
-       (compare:CCC
 
11074
-           (plusminus:SWI
 
11075
-               (match_operand:SWI 1 "nonimmediate_operand" "<comm>0,0")
 
11076
+           (plus:SWI
 
11077
+               (match_operand:SWI 1 "nonimmediate_operand" "%0,0")
 
11078
                (match_operand:SWI 2 "<general_operand>" "<r><i>,<r>m"))
 
11079
            (match_dup 1)))
 
11080
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,<r>")
 
11081
-       (plusminus:SWI (match_dup 1) (match_dup 2)))]
 
11082
-  "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
 
11083
-  "<plusminus_mnemonic>{<imodesuffix>}\t{%2, %0|%0, %2}"
 
11084
+       (plus:SWI (match_dup 1) (match_dup 2)))]
 
11085
+  "ix86_binary_operator_ok (PLUS, <MODE>mode, operands)"
 
11086
+  "add{<imodesuffix>}\t{%2, %0|%0, %2}"
 
11087
   [(set_attr "type" "alu")
 
11088
    (set_attr "mode" "<MODE>")])
 
11089
 
 
11090
-(define_insn "*<plusminus_insn>si3_zext_cc_overflow"
 
11091
+(define_insn "*addsi3_zext_cc_overflow"
 
11092
   [(set (reg:CCC FLAGS_REG)
 
11093
        (compare:CCC
 
11094
-         (plusminus:SI
 
11095
-           (match_operand:SI 1 "nonimmediate_operand" "<comm>0")
 
11096
+         (plus:SI
 
11097
+           (match_operand:SI 1 "nonimmediate_operand" "%0")
 
11098
            (match_operand:SI 2 "x86_64_general_operand" "rme"))
 
11099
          (match_dup 1)))
 
11100
    (set (match_operand:DI 0 "register_operand" "=r")
 
11101
-       (zero_extend:DI (plusminus:SI (match_dup 1) (match_dup 2))))]
 
11102
-  "TARGET_64BIT && ix86_binary_operator_ok (<CODE>, SImode, operands)"
 
11103
-  "<plusminus_mnemonic>{l}\t{%2, %k0|%k0, %2}"
 
11104
+       (zero_extend:DI (plus:SI (match_dup 1) (match_dup 2))))]
 
11105
+  "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)"
 
11106
+  "add{l}\t{%2, %k0|%k0, %2}"
 
11107
   [(set_attr "type" "alu")
 
11108
    (set_attr "mode" "SI")])
 
11109
 
 
11110
@@ -8012,7 +8000,18 @@
 
11111
         (const_int 0)))
 
11112
    (set (match_operand:DI 0 "nonimmediate_operand" "=r,r,rm")
 
11113
        (and:DI (match_dup 1) (match_dup 2)))]
 
11114
-  "TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
 
11115
+  "TARGET_64BIT
 
11116
+   && ix86_match_ccmode
 
11117
+       (insn,
 
11118
+        /* If we are going to emit andl instead of andq, and the operands[2]
 
11119
+           constant might have the SImode sign bit set, make sure the sign
 
11120
+           flag isn't tested, because the instruction will set the sign flag
 
11121
+           based on bit 31 rather than bit 63.  If it isn't CONST_INT,
 
11122
+           conservatively assume it might have bit 31 set.  */
 
11123
+        (satisfies_constraint_Z (operands[2])
 
11124
+         && (!CONST_INT_P (operands[2])
 
11125
+             || val_signbit_known_set_p (SImode, INTVAL (operands[2]))))
 
11126
+        ? CCZmode : CCNOmode)
 
11127
    && ix86_binary_operator_ok (AND, DImode, operands)"
 
11128
   "@
 
11129
    and{l}\t{%k2, %k0|%k0, %k2}
 
11130
Index: gcc/config/i386/t-rtems
 
11131
===================================================================
 
11132
--- a/src/gcc/config/i386/t-rtems       (.../tags/gcc_4_8_2_release)
 
11133
+++ b/src/gcc/config/i386/t-rtems       (.../branches/gcc-4_8-branch)
 
11134
@@ -17,11 +17,10 @@
 
11135
 # <http://www.gnu.org/licenses/>.
 
11136
 #
 
11137
 
 
11138
-MULTILIB_OPTIONS = mtune=i486/mtune=pentium/mtune=pentiumpro \
 
11139
-msoft-float
 
11140
+MULTILIB_OPTIONS = mtune=i486/mtune=pentium/mtune=pentiumpro msoft-float
 
11141
 MULTILIB_DIRNAMES= m486 mpentium mpentiumpro soft-float
 
11142
-MULTILIB_MATCHES = msoft-float=mno-m80387
 
11143
-MULTILIB_MATCHES += mtune?pentium=mtune?k6 mtune?pentiumpro=mtune?mathlon
 
11144
+MULTILIB_MATCHES = msoft-float=mno-80387
 
11145
+MULTILIB_MATCHES += mtune?pentium=mtune?k6 mtune?pentiumpro=mtune?athlon
 
11146
 MULTILIB_EXCEPTIONS = \
 
11147
 mtune=pentium/*msoft-float* \
 
11148
 mtune=pentiumpro/*msoft-float*
 
11149
Index: gcc/config/i386/i386.c
 
11150
===================================================================
 
11151
--- a/src/gcc/config/i386/i386.c        (.../tags/gcc_4_8_2_release)
 
11152
+++ b/src/gcc/config/i386/i386.c        (.../branches/gcc-4_8-branch)
 
11153
@@ -1894,10 +1894,10 @@
 
11154
   m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_ATOM  | m_AMDFAM10 | m_BDVER | m_GENERIC,
 
11155
 
 
11156
   /* X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL */
 
11157
-  m_COREI7 | m_AMDFAM10 | m_BDVER | m_BTVER,
 
11158
+  m_COREI7 | m_HASWELL | m_AMDFAM10 | m_BDVER | m_BTVER,
 
11159
 
 
11160
   /* X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL */
 
11161
-  m_COREI7 | m_BDVER,
 
11162
+  m_COREI7 | m_HASWELL| m_BDVER,
 
11163
 
 
11164
   /* X86_TUNE_SSE_PACKED_SINGLE_INSN_OPTIMAL */
 
11165
   m_BDVER ,
 
11166
@@ -2983,7 +2983,7 @@
 
11167
       {"bdver3", PROCESSOR_BDVER3, CPU_BDVER3,
 
11168
        PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
 
11169
        | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1
 
11170
-       | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX
 
11171
+       | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_FMA4
 
11172
        | PTA_XOP | PTA_LWP | PTA_BMI | PTA_TBM | PTA_F16C
 
11173
        | PTA_FMA | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE 
 
11174
        | PTA_XSAVEOPT},
 
11175
@@ -7235,9 +7235,15 @@
 
11176
   switch (regno)
 
11177
     {
 
11178
     case AX_REG:
 
11179
+    case DX_REG:
 
11180
       return true;
 
11181
+    case DI_REG:
 
11182
+    case SI_REG:
 
11183
+      return TARGET_64BIT && ix86_abi != MS_ABI;
 
11184
 
 
11185
-    case FIRST_FLOAT_REG:
 
11186
+      /* Complex values are returned in %st(0)/%st(1) pair.  */
 
11187
+    case ST0_REG:
 
11188
+    case ST1_REG:
 
11189
       /* TODO: The function should depend on current function ABI but
 
11190
        builtins.c would need updating then. Therefore we use the
 
11191
        default ABI.  */
 
11192
@@ -7245,10 +7251,12 @@
 
11193
        return false;
 
11194
       return TARGET_FLOAT_RETURNS_IN_80387;
 
11195
 
 
11196
-    case FIRST_SSE_REG:
 
11197
+      /* Complex values are returned in %xmm0/%xmm1 pair.  */
 
11198
+    case XMM0_REG:
 
11199
+    case XMM1_REG:
 
11200
       return TARGET_SSE;
 
11201
 
 
11202
-    case FIRST_MMX_REG:
 
11203
+    case MM0_REG:
 
11204
       if (TARGET_MACHO || TARGET_64BIT)
 
11205
        return false;
 
11206
       return TARGET_MMX;
 
11207
@@ -11561,30 +11569,6 @@
 
11208
     }
 
11209
 }
 
11210
 
 
11211
-/* Determine if op is suitable SUBREG RTX for address.  */
 
11212
-
 
11213
-static bool
 
11214
-ix86_address_subreg_operand (rtx op)
 
11215
-{
 
11216
-  enum machine_mode mode;
 
11217
-
 
11218
-  if (!REG_P (op))
 
11219
-    return false;
 
11220
-
 
11221
-  mode = GET_MODE (op);
 
11222
-
 
11223
-  if (GET_MODE_CLASS (mode) != MODE_INT)
 
11224
-    return false;
 
11225
-
 
11226
-  /* Don't allow SUBREGs that span more than a word.  It can lead to spill
 
11227
-     failures when the register is one word out of a two word structure.  */
 
11228
-  if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
 
11229
-    return false;
 
11230
-
 
11231
-  /* Allow only SUBREGs of non-eliminable hard registers.  */
 
11232
-  return register_no_elim_operand (op, mode);
 
11233
-}
 
11234
-
 
11235
 /* Extract the parts of an RTL expression that is a valid memory address
 
11236
    for an instruction.  Return 0 if the structure of the address is
 
11237
    grossly off.  Return -1 if the address contains ASHIFT, so it is not
 
11238
@@ -11641,7 +11625,7 @@
 
11239
     base = addr;
 
11240
   else if (GET_CODE (addr) == SUBREG)
 
11241
     {
 
11242
-      if (ix86_address_subreg_operand (SUBREG_REG (addr)))
 
11243
+      if (REG_P (SUBREG_REG (addr)))
 
11244
        base = addr;
 
11245
       else
 
11246
        return 0;
 
11247
@@ -11705,7 +11689,7 @@
 
11248
              break;
 
11249
 
 
11250
            case SUBREG:
 
11251
-             if (!ix86_address_subreg_operand (SUBREG_REG (op)))
 
11252
+             if (!REG_P (SUBREG_REG (op)))
 
11253
                return 0;
 
11254
              /* FALLTHRU */
 
11255
 
 
11256
@@ -11750,19 +11734,6 @@
 
11257
       scale = 1 << scale;
 
11258
       retval = -1;
 
11259
     }
 
11260
-  else if (CONST_INT_P (addr))
 
11261
-    {
 
11262
-      if (!x86_64_immediate_operand (addr, VOIDmode))
 
11263
-       return 0;
 
11264
-
 
11265
-      /* Constant addresses are sign extended to 64bit, we have to
 
11266
-        prevent addresses from 0x80000000 to 0xffffffff in x32 mode.  */
 
11267
-      if (TARGET_X32
 
11268
-         && val_signbit_known_set_p (SImode, INTVAL (addr)))
 
11269
-       return 0;
 
11270
-
 
11271
-      disp = addr;
 
11272
-    }
 
11273
   else
 
11274
     disp = addr;                       /* displacement */
 
11275
 
 
11276
@@ -11771,18 +11742,12 @@
 
11277
       if (REG_P (index))
 
11278
        ;
 
11279
       else if (GET_CODE (index) == SUBREG
 
11280
-              && ix86_address_subreg_operand (SUBREG_REG (index)))
 
11281
+              && REG_P (SUBREG_REG (index)))
 
11282
        ;
 
11283
       else
 
11284
        return 0;
 
11285
     }
 
11286
 
 
11287
-/* Address override works only on the (%reg) part of %fs:(%reg).  */
 
11288
-  if (seg != SEG_DEFAULT
 
11289
-      && ((base && GET_MODE (base) != word_mode)
 
11290
-         || (index && GET_MODE (index) != word_mode)))
 
11291
-    return 0;
 
11292
-
 
11293
   /* Extract the integral value of scale.  */
 
11294
   if (scale_rtx)
 
11295
     {
 
11296
@@ -12258,6 +12223,45 @@
 
11297
   return false;
 
11298
 }
 
11299
 
 
11300
+/* Determine if op is suitable RTX for an address register.
 
11301
+   Return naked register if a register or a register subreg is
 
11302
+   found, otherwise return NULL_RTX.  */
 
11303
+
 
11304
+static rtx
 
11305
+ix86_validate_address_register (rtx op)
 
11306
+{
 
11307
+  enum machine_mode mode = GET_MODE (op);
 
11308
+
 
11309
+  /* Only SImode or DImode registers can form the address.  */
 
11310
+  if (mode != SImode && mode != DImode)
 
11311
+    return NULL_RTX;
 
11312
+
 
11313
+  if (REG_P (op))
 
11314
+    return op;
 
11315
+  else if (GET_CODE (op) == SUBREG)
 
11316
+    {
 
11317
+      rtx reg = SUBREG_REG (op);
 
11318
+
 
11319
+      if (!REG_P (reg))
 
11320
+       return NULL_RTX;
 
11321
+
 
11322
+      mode = GET_MODE (reg);
 
11323
+
 
11324
+      /* Don't allow SUBREGs that span more than a word.  It can
 
11325
+        lead to spill failures when the register is one word out
 
11326
+        of a two word structure.  */
 
11327
+      if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
 
11328
+       return NULL_RTX;
 
11329
+
 
11330
+      /* Allow only SUBREGs of non-eliminable hard registers.  */
 
11331
+      if (register_no_elim_operand (reg, mode))
 
11332
+       return reg;
 
11333
+    }
 
11334
+
 
11335
+  /* Op is not a register.  */
 
11336
+  return NULL_RTX;
 
11337
+}
 
11338
+
 
11339
 /* Recognizes RTL expressions that are valid memory addresses for an
 
11340
    instruction.  The MODE argument is the machine mode for the MEM
 
11341
    expression that wants to use this address.
 
11342
@@ -12273,6 +12277,7 @@
 
11343
   struct ix86_address parts;
 
11344
   rtx base, index, disp;
 
11345
   HOST_WIDE_INT scale;
 
11346
+  enum ix86_address_seg seg;
 
11347
 
 
11348
   if (ix86_decompose_address (addr, &parts) <= 0)
 
11349
     /* Decomposition failed.  */
 
11350
@@ -12282,23 +12287,16 @@
 
11351
   index = parts.index;
 
11352
   disp = parts.disp;
 
11353
   scale = parts.scale;
 
11354
+  seg = parts.seg;
 
11355
 
 
11356
   /* Validate base register.  */
 
11357
   if (base)
 
11358
     {
 
11359
-      rtx reg;
 
11360
+      rtx reg = ix86_validate_address_register (base);
 
11361
 
 
11362
-      if (REG_P (base))
 
11363
-       reg = base;
 
11364
-      else if (GET_CODE (base) == SUBREG && REG_P (SUBREG_REG (base)))
 
11365
-       reg = SUBREG_REG (base);
 
11366
-      else
 
11367
-       /* Base is not a register.  */
 
11368
+      if (reg == NULL_RTX)
 
11369
        return false;
 
11370
 
 
11371
-      if (GET_MODE (base) != SImode && GET_MODE (base) != DImode)
 
11372
-       return false;
 
11373
-
 
11374
       if ((strict && ! REG_OK_FOR_BASE_STRICT_P (reg))
 
11375
          || (! strict && ! REG_OK_FOR_BASE_NONSTRICT_P (reg)))
 
11376
        /* Base is not valid.  */
 
11377
@@ -12308,19 +12306,11 @@
 
11378
   /* Validate index register.  */
 
11379
   if (index)
 
11380
     {
 
11381
-      rtx reg;
 
11382
+      rtx reg = ix86_validate_address_register (index);
 
11383
 
 
11384
-      if (REG_P (index))
 
11385
-       reg = index;
 
11386
-      else if (GET_CODE (index) == SUBREG && REG_P (SUBREG_REG (index)))
 
11387
-       reg = SUBREG_REG (index);
 
11388
-      else
 
11389
-       /* Index is not a register.  */
 
11390
+      if (reg == NULL_RTX)
 
11391
        return false;
 
11392
 
 
11393
-      if (GET_MODE (index) != SImode && GET_MODE (index) != DImode)
 
11394
-       return false;
 
11395
-
 
11396
       if ((strict && ! REG_OK_FOR_INDEX_STRICT_P (reg))
 
11397
          || (! strict && ! REG_OK_FOR_INDEX_NONSTRICT_P (reg)))
 
11398
        /* Index is not valid.  */
 
11399
@@ -12332,6 +12322,12 @@
 
11400
       && GET_MODE (base) != GET_MODE (index))
 
11401
     return false;
 
11402
 
 
11403
+  /* Address override works only on the (%reg) part of %fs:(%reg).  */
 
11404
+  if (seg != SEG_DEFAULT
 
11405
+      && ((base && GET_MODE (base) != word_mode)
 
11406
+         || (index && GET_MODE (index) != word_mode)))
 
11407
+    return false;
 
11408
+
 
11409
   /* Validate scale factor.  */
 
11410
   if (scale != 1)
 
11411
     {
 
11412
@@ -12453,6 +12449,12 @@
 
11413
               && !x86_64_immediate_operand (disp, VOIDmode))
 
11414
        /* Displacement is out of range.  */
 
11415
        return false;
 
11416
+      /* In x32 mode, constant addresses are sign extended to 64bit, so
 
11417
+        we have to prevent addresses from 0x80000000 to 0xffffffff.  */
 
11418
+      else if (TARGET_X32 && !(index || base)
 
11419
+              && CONST_INT_P (disp)
 
11420
+              && val_signbit_known_set_p (SImode, INTVAL (disp)))
 
11421
+       return false;
 
11422
     }
 
11423
 
 
11424
   /* Everything looks valid.  */
 
11425
@@ -13817,8 +13819,6 @@
 
11426
         Those same assemblers have the same but opposite lossage on cmov.  */
 
11427
       if (mode == CCmode)
 
11428
        suffix = fp ? "nbe" : "a";
 
11429
-      else if (mode == CCCmode)
 
11430
-       suffix = "b";
 
11431
       else
 
11432
        gcc_unreachable ();
 
11433
       break;
 
11434
@@ -13840,8 +13840,12 @@
 
11435
        }
 
11436
       break;
 
11437
     case LTU:
 
11438
-      gcc_assert (mode == CCmode || mode == CCCmode);
 
11439
-      suffix = "b";
 
11440
+      if (mode == CCmode)
 
11441
+       suffix = "b";
 
11442
+      else if (mode == CCCmode)
 
11443
+       suffix = "c";
 
11444
+      else
 
11445
+       gcc_unreachable ();
 
11446
       break;
 
11447
     case GE:
 
11448
       switch (mode)
 
11449
@@ -13861,20 +13865,20 @@
 
11450
        }
 
11451
       break;
 
11452
     case GEU:
 
11453
-      /* ??? As above.  */
 
11454
-      gcc_assert (mode == CCmode || mode == CCCmode);
 
11455
-      suffix = fp ? "nb" : "ae";
 
11456
+      if (mode == CCmode)
 
11457
+       suffix = fp ? "nb" : "ae";
 
11458
+      else if (mode == CCCmode)
 
11459
+       suffix = "nc";
 
11460
+      else
 
11461
+       gcc_unreachable ();
 
11462
       break;
 
11463
     case LE:
 
11464
       gcc_assert (mode == CCmode || mode == CCGCmode || mode == CCNOmode);
 
11465
       suffix = "le";
 
11466
       break;
 
11467
     case LEU:
 
11468
-      /* ??? As above.  */
 
11469
       if (mode == CCmode)
 
11470
        suffix = "be";
 
11471
-      else if (mode == CCCmode)
 
11472
-       suffix = fp ? "nb" : "ae";
 
11473
       else
 
11474
        gcc_unreachable ();
 
11475
       break;
 
11476
@@ -15340,7 +15344,7 @@
 
11477
              rtx arg = XEXP (XEXP (link, 0), 0);
 
11478
 
 
11479
              if (ix86_check_avx256_register (&arg, NULL))
 
11480
-               return AVX_U128_ANY;
 
11481
+               return AVX_U128_DIRTY;
 
11482
            }
 
11483
        }
 
11484
 
 
11485
@@ -15460,8 +15464,8 @@
 
11486
     {
 
11487
       bool avx_reg256_found = false;
 
11488
       note_stores (pat, ix86_check_avx256_stores, &avx_reg256_found);
 
11489
-      if (!avx_reg256_found)
 
11490
-       return AVX_U128_CLEAN;
 
11491
+
 
11492
+      return avx_reg256_found ? AVX_U128_DIRTY : AVX_U128_CLEAN;
 
11493
     }
 
11494
 
 
11495
   /* Otherwise, return current mode.  Remember that if insn
 
11496
@@ -18486,12 +18490,7 @@
 
11497
        return CCmode;
 
11498
     case GTU:                  /* CF=0 & ZF=0 */
 
11499
     case LEU:                  /* CF=1 | ZF=1 */
 
11500
-      /* Detect overflow checks.  They need just the carry flag.  */
 
11501
-      if (GET_CODE (op0) == MINUS
 
11502
-         && rtx_equal_p (op1, XEXP (op0, 0)))
 
11503
-       return CCCmode;
 
11504
-      else
 
11505
-       return CCmode;
 
11506
+      return CCmode;
 
11507
       /* Codes possibly doable only with sign flag when
 
11508
          comparing against zero.  */
 
11509
     case GE:                   /* SF=OF   or   SF=0 */
 
11510
@@ -21740,6 +21739,21 @@
 
11511
   return SImode;
 
11512
 }
 
11513
 
 
11514
+/* Copy the address to a Pmode register.  This is used for x32 to
 
11515
+   truncate DImode TLS address to a SImode register. */
 
11516
+
 
11517
+static rtx
 
11518
+ix86_copy_addr_to_reg (rtx addr)
 
11519
+{
 
11520
+  if (GET_MODE (addr) == Pmode)
 
11521
+    return copy_addr_to_reg (addr);
 
11522
+  else
 
11523
+    {
 
11524
+      gcc_assert (GET_MODE (addr) == DImode && Pmode == SImode);
 
11525
+      return gen_rtx_SUBREG (SImode, copy_to_mode_reg (DImode, addr), 0);
 
11526
+    }
 
11527
+}
 
11528
+
 
11529
 /* When SRCPTR is non-NULL, output simple loop to move memory
 
11530
    pointer to SRCPTR to DESTPTR via chunks of MODE unrolled UNROLL times,
 
11531
    overall size is COUNT specified in bytes.  When SRCPTR is NULL, output the
 
11532
@@ -22728,8 +22742,8 @@
 
11533
   gcc_assert (alg != no_stringop);
 
11534
   if (!count)
 
11535
     count_exp = copy_to_mode_reg (GET_MODE (count_exp), count_exp);
 
11536
-  destreg = copy_addr_to_reg (XEXP (dst, 0));
 
11537
-  srcreg = copy_addr_to_reg (XEXP (src, 0));
 
11538
+  destreg = ix86_copy_addr_to_reg (XEXP (dst, 0));
 
11539
+  srcreg = ix86_copy_addr_to_reg (XEXP (src, 0));
 
11540
   switch (alg)
 
11541
     {
 
11542
     case libcall:
 
11543
@@ -23119,7 +23133,7 @@
 
11544
   gcc_assert (alg != no_stringop);
 
11545
   if (!count)
 
11546
     count_exp = copy_to_mode_reg (counter_mode (count_exp), count_exp);
 
11547
-  destreg = copy_addr_to_reg (XEXP (dst, 0));
 
11548
+  destreg = ix86_copy_addr_to_reg (XEXP (dst, 0));
 
11549
   switch (alg)
 
11550
     {
 
11551
     case libcall:
 
11552
Index: gcc/config/sh/sh.opt
 
11553
===================================================================
 
11554
--- a/src/gcc/config/sh/sh.opt  (.../tags/gcc_4_8_2_release)
 
11555
+++ b/src/gcc/config/sh/sh.opt  (.../branches/gcc-4_8-branch)
 
11556
@@ -21,7 +21,7 @@
 
11557
 ;; Used for various architecture options.
 
11558
 Mask(SH_E)
 
11559
 
 
11560
-;; Set if the default precision of th FPU is single.
 
11561
+;; Set if the default precision of the FPU is single.
 
11562
 Mask(FPU_SINGLE)
 
11563
 
 
11564
 ;; Set if the a double-precision FPU is present but is restricted to
 
11565
Index: gcc/config/rs6000/rs6000.md
 
11566
===================================================================
 
11567
--- a/src/gcc/config/rs6000/rs6000.md   (.../tags/gcc_4_8_2_release)
 
11568
+++ b/src/gcc/config/rs6000/rs6000.md   (.../branches/gcc-4_8-branch)
 
11569
@@ -2412,7 +2412,7 @@
 
11570
                             (match_operand:SI 2 "gpc_reg_operand" "r,r"))
 
11571
                    (const_int 0)))
 
11572
    (clobber (match_scratch:SI 3 "=r,r"))]
 
11573
-  ""
 
11574
+  "TARGET_32BIT"
 
11575
   "@
 
11576
    mullw. %3,%1,%2
 
11577
    #"
 
11578
@@ -2425,7 +2425,7 @@
 
11579
                             (match_operand:SI 2 "gpc_reg_operand" ""))
 
11580
                    (const_int 0)))
 
11581
    (clobber (match_scratch:SI 3 ""))]
 
11582
-  "reload_completed"
 
11583
+  "TARGET_32BIT && reload_completed"
 
11584
   [(set (match_dup 3)
 
11585
        (mult:SI (match_dup 1) (match_dup 2)))
 
11586
    (set (match_dup 0)
 
11587
@@ -2440,7 +2440,7 @@
 
11588
                    (const_int 0)))
 
11589
    (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
 
11590
        (mult:SI (match_dup 1) (match_dup 2)))]
 
11591
-  ""
 
11592
+  "TARGET_32BIT"
 
11593
   "@
 
11594
    mullw. %0,%1,%2
 
11595
    #"
 
11596
@@ -2454,7 +2454,7 @@
 
11597
                    (const_int 0)))
 
11598
    (set (match_operand:SI 0 "gpc_reg_operand" "")
 
11599
        (mult:SI (match_dup 1) (match_dup 2)))]
 
11600
-  "reload_completed"
 
11601
+  "TARGET_32BIT && reload_completed"
 
11602
   [(set (match_dup 0)
 
11603
        (mult:SI (match_dup 1) (match_dup 2)))
 
11604
    (set (match_dup 3)
 
11605
Index: gcc/config/arm/arm.c
 
11606
===================================================================
 
11607
--- a/src/gcc/config/arm/arm.c  (.../tags/gcc_4_8_2_release)
 
11608
+++ b/src/gcc/config/arm/arm.c  (.../branches/gcc-4_8-branch)
 
11609
@@ -23555,6 +23555,7 @@
 
11610
   num_regs = bit_count (saved_regs_mask);
 
11611
   if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca)
 
11612
     {
 
11613
+      emit_insn (gen_blockage ());
 
11614
       /* Unwind the stack to just below the saved registers.  */
 
11615
       emit_insn (gen_addsi3 (stack_pointer_rtx,
 
11616
                              hard_frame_pointer_rtx,
 
11617
Index: libgo/configure
 
11618
===================================================================
 
11619
--- a/src/libgo/configure       (.../tags/gcc_4_8_2_release)
 
11620
+++ b/src/libgo/configure       (.../branches/gcc-4_8-branch)
 
11621
@@ -14700,7 +14700,7 @@
 
11622
 fi
 
11623
 
 
11624
 
 
11625
-for ac_func in accept4 epoll_create1 faccessat fallocate fchmodat fchownat futimesat inotify_add_watch inotify_init inotify_init1 inotify_rm_watch mkdirat mknodat openat pipe2 renameat sync_file_range splice tee unlinkat unshare utimensat
 
11626
+for ac_func in accept4 dup3 epoll_create1 faccessat fallocate fchmodat fchownat futimesat getxattr inotify_add_watch inotify_init inotify_init1 inotify_rm_watch listxattr mkdirat mknodat openat pipe2 removexattr renameat setxattr sync_file_range splice tee unlinkat unshare utimensat
 
11627
 do :
 
11628
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 
11629
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
 
11630
Index: libgo/Makefile.in
 
11631
===================================================================
 
11632
--- a/src/libgo/Makefile.in     (.../tags/gcc_4_8_2_release)
 
11633
+++ b/src/libgo/Makefile.in     (.../branches/gcc-4_8-branch)
 
11634
@@ -195,7 +195,7 @@
 
11635
 @LIBGO_IS_LINUX_TRUE@am__objects_5 = getncpu-linux.lo
 
11636
 am__objects_6 = go-append.lo go-assert.lo go-assert-interface.lo \
 
11637
        go-byte-array-to-string.lo go-breakpoint.lo go-caller.lo \
 
11638
-       go-callers.lo go-can-convert-interface.lo go-cgo.lo \
 
11639
+       go-callers.lo go-can-convert-interface.lo go-cdiv.lo go-cgo.lo \
 
11640
        go-check-interface.lo go-construct-map.lo \
 
11641
        go-convert-interface.lo go-copy.lo go-defer.lo \
 
11642
        go-deferred-recover.lo go-eface-compare.lo \
 
11643
@@ -757,6 +757,7 @@
 
11644
        runtime/go-caller.c \
 
11645
        runtime/go-callers.c \
 
11646
        runtime/go-can-convert-interface.c \
 
11647
+       runtime/go-cdiv.c \
 
11648
        runtime/go-cgo.c \
 
11649
        runtime/go-check-interface.c \
 
11650
        runtime/go-construct-map.c \
 
11651
@@ -2368,6 +2369,7 @@
 
11652
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go-caller.Plo@am__quote@
 
11653
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go-callers.Plo@am__quote@
 
11654
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go-can-convert-interface.Plo@am__quote@
 
11655
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go-cdiv.Plo@am__quote@
 
11656
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go-cgo.Plo@am__quote@
 
11657
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go-check-interface.Plo@am__quote@
 
11658
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go-construct-map.Plo@am__quote@
 
11659
@@ -2554,6 +2556,13 @@
 
11660
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 
11661
 @am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o go-can-convert-interface.lo `test -f 'runtime/go-can-convert-interface.c' || echo '$(srcdir)/'`runtime/go-can-convert-interface.c
 
11662
 
 
11663
+go-cdiv.lo: runtime/go-cdiv.c
 
11664
+@am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT go-cdiv.lo -MD -MP -MF $(DEPDIR)/go-cdiv.Tpo -c -o go-cdiv.lo `test -f 'runtime/go-cdiv.c' || echo '$(srcdir)/'`runtime/go-cdiv.c
 
11665
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/go-cdiv.Tpo $(DEPDIR)/go-cdiv.Plo
 
11666
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='runtime/go-cdiv.c' object='go-cdiv.lo' libtool=yes @AMDEPBACKSLASH@
 
11667
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 
11668
+@am__fastdepCC_FALSE@  $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o go-cdiv.lo `test -f 'runtime/go-cdiv.c' || echo '$(srcdir)/'`runtime/go-cdiv.c
 
11669
+
 
11670
 go-cgo.lo: runtime/go-cgo.c
 
11671
 @am__fastdepCC_TRUE@   $(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT go-cgo.lo -MD -MP -MF $(DEPDIR)/go-cgo.Tpo -c -o go-cgo.lo `test -f 'runtime/go-cgo.c' || echo '$(srcdir)/'`runtime/go-cgo.c
 
11672
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/go-cgo.Tpo $(DEPDIR)/go-cgo.Plo
 
11673
Index: libgo/runtime/go-nosys.c
 
11674
===================================================================
 
11675
--- a/src/libgo/runtime/go-nosys.c      (.../tags/gcc_4_8_2_release)
 
11676
+++ b/src/libgo/runtime/go-nosys.c      (.../branches/gcc-4_8-branch)
 
11677
@@ -43,6 +43,17 @@
 
11678
 }
 
11679
 #endif
 
11680
 
 
11681
+#ifndef HAVE_DUP3
 
11682
+int
 
11683
+dup3 (int oldfd __attribute__ ((unused)),
 
11684
+      int newfd __attribute__ ((unused)),
 
11685
+      int flags __attribute__ ((unused)))
 
11686
+{
 
11687
+  errno = ENOSYS;
 
11688
+  return -1;
 
11689
+}
 
11690
+#endif
 
11691
+
 
11692
 #ifndef HAVE_EPOLL_CREATE1
 
11693
 int
 
11694
 epoll_create1 (int flags __attribute__ ((unused)))
 
11695
@@ -112,6 +123,18 @@
 
11696
 }
 
11697
 #endif
 
11698
 
 
11699
+#ifndef HAVE_GETXATTR
 
11700
+ssize_t
 
11701
+getxattr (const char *path __attribute__ ((unused)),
 
11702
+         const char *name __attribute__ ((unused)),
 
11703
+         void *value __attribute__ ((unused)),
 
11704
+         size_t size __attribute__ ((unused)))
 
11705
+{
 
11706
+  errno = ENOSYS;
 
11707
+  return -1;
 
11708
+}
 
11709
+#endif
 
11710
+
 
11711
 #ifndef HAVE_INOTIFY_ADD_WATCH
 
11712
 int
 
11713
 inotify_add_watch (int fd __attribute__ ((unused)),
 
11714
@@ -151,6 +174,17 @@
 
11715
 }
 
11716
 #endif
 
11717
 
 
11718
+#ifndef HAVE_LISTXATTR
 
11719
+ssize_t
 
11720
+listxattr (const char *path __attribute__ ((unused)),
 
11721
+          char *list __attribute__ ((unused)),
 
11722
+          size_t size __attribute__ ((unused)))
 
11723
+{
 
11724
+  errno = ENOSYS;
 
11725
+  return -1;
 
11726
+}
 
11727
+#endif
 
11728
+
 
11729
 #ifndef HAVE_MKDIRAT
 
11730
 int
 
11731
 mkdirat (int dirfd __attribute__ ((unused)),
 
11732
@@ -196,6 +230,16 @@
 
11733
 }
 
11734
 #endif
 
11735
 
 
11736
+#ifndef HAVE_REMOVEXATTR
 
11737
+int
 
11738
+removexattr (const char *path __attribute__ ((unused)),
 
11739
+            const char *name __attribute__ ((unused)))
 
11740
+{
 
11741
+  errno = ENOSYS;
 
11742
+  return -1;
 
11743
+}
 
11744
+#endif
 
11745
+
 
11746
 #ifndef HAVE_RENAMEAT
 
11747
 int
 
11748
 renameat (int olddirfd __attribute__ ((unused)),
 
11749
@@ -208,6 +252,19 @@
 
11750
 }
 
11751
 #endif
 
11752
 
 
11753
+#ifndef HAVE_SETXATTR
 
11754
+int
 
11755
+setxattr (const char *path __attribute__ ((unused)),
 
11756
+         const char *name __attribute__ ((unused)),
 
11757
+         const void *value __attribute__ ((unused)),
 
11758
+         size_t size __attribute__ ((unused)),
 
11759
+         int flags __attribute__ ((unused)))
 
11760
+{
 
11761
+  errno = ENOSYS;
 
11762
+  return -1;
 
11763
+}
 
11764
+#endif
 
11765
+
 
11766
 #ifndef HAVE_SPLICE
 
11767
 int
 
11768
 splice (int fd __attribute__ ((unused)),
 
11769
Index: libgo/runtime/go-signal.c
 
11770
===================================================================
 
11771
--- a/src/libgo/runtime/go-signal.c     (.../tags/gcc_4_8_2_release)
 
11772
+++ b/src/libgo/runtime/go-signal.c     (.../branches/gcc-4_8-branch)
 
11773
@@ -399,6 +399,9 @@
 
11774
 {
 
11775
   G *gp;
 
11776
   M *mp;
 
11777
+#ifdef USING_SPLIT_STACK
 
11778
+  void *stack_context[10];
 
11779
+#endif
 
11780
 
 
11781
   /* We are now running on the stack registered via sigaltstack.
 
11782
      (Actually there is a small span of time between runtime_siginit
 
11783
@@ -409,7 +412,7 @@
 
11784
   if (gp != NULL)
 
11785
     {
 
11786
 #ifdef USING_SPLIT_STACK
 
11787
-      __splitstack_getcontext (&gp->stack_context[0]);
 
11788
+      __splitstack_getcontext (&stack_context[0]);
 
11789
 #endif
 
11790
     }
 
11791
 
 
11792
@@ -432,7 +435,7 @@
 
11793
   if (gp != NULL)
 
11794
     {
 
11795
 #ifdef USING_SPLIT_STACK
 
11796
-      __splitstack_setcontext (&gp->stack_context[0]);
 
11797
+      __splitstack_setcontext (&stack_context[0]);
 
11798
 #endif
 
11799
     }
 
11800
 }
 
11801
Index: libgo/runtime/go-cdiv.c
 
11802
===================================================================
 
11803
--- a/src/libgo/runtime/go-cdiv.c       (.../tags/gcc_4_8_2_release)
 
11804
+++ b/src/libgo/runtime/go-cdiv.c       (.../branches/gcc-4_8-branch)
 
11805
@@ -0,0 +1,46 @@
 
11806
+/* go-cdiv.c -- complex division routines
 
11807
+
 
11808
+   Copyright 2013 The Go Authors. All rights reserved.
 
11809
+   Use of this source code is governed by a BSD-style
 
11810
+   license that can be found in the LICENSE file.  */
 
11811
+
 
11812
+/* Calls to these functions are generated by the Go frontend for
 
11813
+   division of complex64 or complex128.  We use these because Go's
 
11814
+   complex division expects slightly different results from the GCC
 
11815
+   default.  When dividing NaN+1.0i / 0+0i, Go expects NaN+NaNi but
 
11816
+   GCC generates NaN+Infi.  NaN+Infi seems wrong seems the rules of
 
11817
+   C99 Annex G specify that if either side of a complex number is Inf,
 
11818
+   the the whole number is Inf, but an operation involving NaN ought
 
11819
+   to result in NaN, not Inf.  */
 
11820
+
 
11821
+__complex float
 
11822
+__go_complex64_div (__complex float a, __complex float b)
 
11823
+{
 
11824
+  if (__builtin_expect (b == 0+0i, 0))
 
11825
+    {
 
11826
+      if (!__builtin_isinff (__real__ a)
 
11827
+         && !__builtin_isinff (__imag__ a)
 
11828
+         && (__builtin_isnanf (__real__ a) || __builtin_isnanf (__imag__ a)))
 
11829
+       {
 
11830
+         /* Pass "1" to nanf to match math/bits.go.  */
 
11831
+         return __builtin_nanf("1") + __builtin_nanf("1")*1i;
 
11832
+       }
 
11833
+    }
 
11834
+  return a / b;
 
11835
+}
 
11836
+
 
11837
+__complex double
 
11838
+__go_complex128_div (__complex double a, __complex double b)
 
11839
+{
 
11840
+  if (__builtin_expect (b == 0+0i, 0))
 
11841
+    {
 
11842
+      if (!__builtin_isinf (__real__ a)
 
11843
+         && !__builtin_isinf (__imag__ a)
 
11844
+         && (__builtin_isnan (__real__ a) || __builtin_isnan (__imag__ a)))
 
11845
+       {
 
11846
+         /* Pass "1" to nan to match math/bits.go.  */
 
11847
+         return __builtin_nan("1") + __builtin_nan("1")*1i;
 
11848
+       }
 
11849
+    }
 
11850
+  return a / b;
 
11851
+}
 
11852
Index: libgo/runtime/go-make-slice.c
 
11853
===================================================================
 
11854
--- a/src/libgo/runtime/go-make-slice.c (.../tags/gcc_4_8_2_release)
 
11855
+++ b/src/libgo/runtime/go-make-slice.c (.../branches/gcc-4_8-branch)
 
11856
@@ -34,7 +34,10 @@
 
11857
   std = (const struct __go_slice_type *) td;
 
11858
 
 
11859
   ilen = (intgo) len;
 
11860
-  if (ilen < 0 || (uintptr_t) ilen != len)
 
11861
+  if (ilen < 0
 
11862
+      || (uintptr_t) ilen != len
 
11863
+      || (std->__element_type->__size > 0
 
11864
+         && len > MaxMem / std->__element_type->__size))
 
11865
     runtime_panicstring ("makeslice: len out of range");
 
11866
 
 
11867
   icap = (intgo) cap;
 
11868
Index: libgo/mksysinfo.sh
 
11869
===================================================================
 
11870
--- a/src/libgo/mksysinfo.sh    (.../tags/gcc_4_8_2_release)
 
11871
+++ b/src/libgo/mksysinfo.sh    (.../branches/gcc-4_8-branch)
 
11872
@@ -1035,6 +1035,10 @@
 
11873
 grep '^const _LOCK_' gen-sysinfo.go |
 
11874
     sed -e 's/^\(const \)_\(LOCK_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
 
11875
 
 
11876
+# The PRIO constants.
 
11877
+grep '^const _PRIO_' gen-sysinfo.go | \
 
11878
+  sed -e 's/^\(const \)_\(PRIO_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
 
11879
+
 
11880
 # The GNU/Linux LINUX_REBOOT flags.
 
11881
 grep '^const _LINUX_REBOOT_' gen-sysinfo.go |
 
11882
     sed -e 's/^\(const \)_\(LINUX_REBOOT_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
 
11883
Index: libgo/config.h.in
 
11884
===================================================================
 
11885
--- a/src/libgo/config.h.in     (.../tags/gcc_4_8_2_release)
 
11886
+++ b/src/libgo/config.h.in     (.../branches/gcc-4_8-branch)
 
11887
@@ -39,6 +39,9 @@
 
11888
 /* Define to 1 if you have the `dl_iterate_phdr' function. */
 
11889
 #undef HAVE_DL_ITERATE_PHDR
 
11890
 
 
11891
+/* Define to 1 if you have the `dup3' function. */
 
11892
+#undef HAVE_DUP3
 
11893
+
 
11894
 /* Define to 1 if you have the `epoll_create1' function. */
 
11895
 #undef HAVE_EPOLL_CREATE1
 
11896
 
 
11897
@@ -66,6 +69,9 @@
 
11898
 /* Define if _Unwind_GetIPInfo is available. */
 
11899
 #undef HAVE_GETIPINFO
 
11900
 
 
11901
+/* Define to 1 if you have the `getxattr' function. */
 
11902
+#undef HAVE_GETXATTR
 
11903
+
 
11904
 /* Define to 1 if you have the `inotify_add_watch' function. */
 
11905
 #undef HAVE_INOTIFY_ADD_WATCH
 
11906
 
 
11907
@@ -111,6 +117,9 @@
 
11908
 /* Define to 1 if you have the <linux/rtnetlink.h> header file. */
 
11909
 #undef HAVE_LINUX_RTNETLINK_H
 
11910
 
 
11911
+/* Define to 1 if you have the `listxattr' function. */
 
11912
+#undef HAVE_LISTXATTR
 
11913
+
 
11914
 /* Define to 1 if the system has the type `loff_t'. */
 
11915
 #undef HAVE_LOFF_T
 
11916
 
 
11917
@@ -171,6 +180,9 @@
 
11918
 /* Define to 1 if you have the `pipe2' function. */
 
11919
 #undef HAVE_PIPE2
 
11920
 
 
11921
+/* Define to 1 if you have the `removexattr' function. */
 
11922
+#undef HAVE_REMOVEXATTR
 
11923
+
 
11924
 /* Define to 1 if you have the `renameat' function. */
 
11925
 #undef HAVE_RENAMEAT
 
11926
 
 
11927
@@ -180,6 +192,9 @@
 
11928
 /* Define to 1 if you have the `setenv' function. */
 
11929
 #undef HAVE_SETENV
 
11930
 
 
11931
+/* Define to 1 if you have the `setxattr' function. */
 
11932
+#undef HAVE_SETXATTR
 
11933
+
 
11934
 /* Define to 1 if you have the `sinl' function. */
 
11935
 #undef HAVE_SINL
 
11936
 
 
11937
Index: libgo/configure.ac
 
11938
===================================================================
 
11939
--- a/src/libgo/configure.ac    (.../tags/gcc_4_8_2_release)
 
11940
+++ b/src/libgo/configure.ac    (.../branches/gcc-4_8-branch)
 
11941
@@ -503,7 +503,7 @@
 
11942
 AM_CONDITIONAL(HAVE_STRERROR_R, test "$ac_cv_func_strerror_r" = yes)
 
11943
 AM_CONDITIONAL(HAVE_WAIT4, test "$ac_cv_func_wait4" = yes)
 
11944
 
 
11945
-AC_CHECK_FUNCS(accept4 epoll_create1 faccessat fallocate fchmodat fchownat futimesat inotify_add_watch inotify_init inotify_init1 inotify_rm_watch mkdirat mknodat openat pipe2 renameat sync_file_range splice tee unlinkat unshare utimensat)
 
11946
+AC_CHECK_FUNCS(accept4 dup3 epoll_create1 faccessat fallocate fchmodat fchownat futimesat getxattr inotify_add_watch inotify_init inotify_init1 inotify_rm_watch listxattr mkdirat mknodat openat pipe2 removexattr renameat setxattr sync_file_range splice tee unlinkat unshare utimensat)
 
11947
 AC_TYPE_OFF_T
 
11948
 AC_CHECK_TYPES([loff_t])
 
11949
 
 
11950
Index: libgo/go/syscall/libcall_linux.go
 
11951
===================================================================
 
11952
--- a/src/libgo/go/syscall/libcall_linux.go     (.../tags/gcc_4_8_2_release)
 
11953
+++ b/src/libgo/go/syscall/libcall_linux.go     (.../branches/gcc-4_8-branch)
 
11954
@@ -190,6 +190,9 @@
 
11955
 //sys  Adjtimex(buf *Timex) (state int, err error)
 
11956
 //adjtimex(buf *Timex) _C_int
 
11957
 
 
11958
+//sysnb        Dup3(oldfd int, newfd int, flags int) (err error)
 
11959
+//dup3(oldfd _C_int, newfd _C_int, flags _C_int) _C_int
 
11960
+
 
11961
 //sys  Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
 
11962
 //faccessat(dirfd _C_int, pathname *byte, mode _C_int, flags _C_int) _C_int
 
11963
 
 
11964
@@ -268,6 +271,9 @@
 
11965
        return origlen - len(buf), count, names
 
11966
 }
 
11967
 
 
11968
+//sys  Getxattr(path string, attr string, dest []byte) (sz int, err error)
 
11969
+//getxattr(path *byte, attr *byte, buf *byte, count Size_t) Ssize_t
 
11970
+
 
11971
 //sys  InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
 
11972
 //inotify_add_watch(fd _C_int, pathname *byte, mask uint32) _C_int
 
11973
 
 
11974
@@ -283,6 +289,9 @@
 
11975
 //sys  Klogctl(typ int, buf []byte) (n int, err error)
 
11976
 //klogctl(typ _C_int, bufp *byte, len _C_int) _C_int
 
11977
 
 
11978
+//sys  Listxattr(path string, dest []byte) (sz int, err error)
 
11979
+//listxattr(path *byte, list *byte, size Size_t) Ssize_t
 
11980
+
 
11981
 //sys  Mkdirat(dirfd int, path string, mode uint32) (err error)
 
11982
 //mkdirat(dirfd _C_int, path *byte, mode Mode_t) _C_int
 
11983
 
 
11984
@@ -305,6 +314,9 @@
 
11985
 //sys  PivotRoot(newroot string, putold string) (err error)
 
11986
 //pivot_root(newroot *byte, putold *byte) _C_int
 
11987
 
 
11988
+//sys  Removexattr(path string, attr string) (err error)
 
11989
+//removexattr(path *byte, name *byte) _C_int
 
11990
+
 
11991
 //sys  Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
 
11992
 //renameat(olddirfd _C_int, oldpath *byte, newdirfd _C_int, newpath *byte) _C_int
 
11993
 
 
11994
@@ -338,6 +350,9 @@
 
11995
 //sysnb        Setresuid(ruid int, eguid int, suid int) (err error)
 
11996
 //setresuid(ruid Uid_t, euid Uid_t, suid Uid_t) _C_int
 
11997
 
 
11998
+//sys  Setxattr(path string, attr string, data []byte, flags int) (err error)
 
11999
+//setxattr(path *byte, name *byte, value *byte, size Size_t, flags _C_int) _C_int
 
12000
+
 
12001
 //sys  splice(rfd int, roff *_loff_t, wfd int, woff *_loff_t, len int, flags int) (n int64, err error)
 
12002
 //splice(rfd _C_int, roff *_loff_t, wfd _C_int, woff *_loff_t, len Size_t, flags _C_uint) Ssize_t
 
12003
 func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
 
12004
Index: libgo/go/syscall/libcall_posix.go
 
12005
===================================================================
 
12006
--- a/src/libgo/go/syscall/libcall_posix.go     (.../tags/gcc_4_8_2_release)
 
12007
+++ b/src/libgo/go/syscall/libcall_posix.go     (.../branches/gcc-4_8-branch)
 
12008
@@ -238,6 +238,9 @@
 
12009
 //sysnb        Getppid() (ppid int)
 
12010
 //getppid() Pid_t
 
12011
 
 
12012
+//sys Getpriority(which int, who int) (prio int, err error)
 
12013
+//getpriority(which _C_int, who _C_int) _C_int
 
12014
+
 
12015
 //sysnb        Getrlimit(resource int, rlim *Rlimit) (err error)
 
12016
 //getrlimit(resource _C_int, rlim *Rlimit) _C_int
 
12017
 
 
12018
@@ -307,6 +310,9 @@
 
12019
 //sysnb        Setpgid(pid int, pgid int) (err error)
 
12020
 //setpgid(pid Pid_t, pgid Pid_t) _C_int
 
12021
 
 
12022
+//sys Setpriority(which int, who int, prio int) (err error)
 
12023
+//setpriority(which _C_int, who _C_int, prio _C_int) _C_int
 
12024
+
 
12025
 //sysnb        Setreuid(ruid int, euid int) (err error)
 
12026
 //setreuid(ruid Uid_t, euid Uid_t) _C_int
 
12027
 
 
12028
Index: libgo/Makefile.am
 
12029
===================================================================
 
12030
--- a/src/libgo/Makefile.am     (.../tags/gcc_4_8_2_release)
 
12031
+++ b/src/libgo/Makefile.am     (.../branches/gcc-4_8-branch)
 
12032
@@ -424,6 +424,7 @@
 
12033
        runtime/go-caller.c \
 
12034
        runtime/go-callers.c \
 
12035
        runtime/go-can-convert-interface.c \
 
12036
+       runtime/go-cdiv.c \
 
12037
        runtime/go-cgo.c \
 
12038
        runtime/go-check-interface.c \
 
12039
        runtime/go-construct-map.c \
 
12040
Index: libcpp/po/ChangeLog
 
12041
===================================================================
 
12042
--- a/src/libcpp/po/ChangeLog   (.../tags/gcc_4_8_2_release)
 
12043
+++ b/src/libcpp/po/ChangeLog   (.../branches/gcc-4_8-branch)
 
12044
@@ -1,3 +1,7 @@
 
12045
+2013-11-01  Joseph Myers  <joseph@codesourcery.com>
 
12046
+
 
12047
+       * tr.po: Update.
 
12048
+
 
12049
 2013-10-16  Release Manager
 
12050
 
 
12051
        * GCC 4.8.2 released.
 
12052
Index: libcpp/po/tr.po
 
12053
===================================================================
 
12054
--- a/src/libcpp/po/tr.po       (.../tags/gcc_4_8_2_release)
 
12055
+++ b/src/libcpp/po/tr.po       (.../branches/gcc-4_8-branch)
 
12056
@@ -1,20 +1,22 @@
 
12057
 # Turkish translations for cpplib messages.
 
12058
 # Copyright (C) 2007 Free Software Foundation, Inc.
 
12059
+# This file is distributed under the same license as the gcc package.
 
12060
 #
 
12061
 # Nilgün Belma Bugüner <nilgun@buguner.name.tr>, 2001, ..., 2007.
 
12062
+# Volkan Gezer <vlkngzr@gmail.com>, 2013.
 
12063
 msgid ""
 
12064
 msgstr ""
 
12065
-"Project-Id-Version: cpplib 4.2.0\n"
 
12066
+"Project-Id-Version: cpplib 4.8.0\n"
 
12067
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
 
12068
-"POT-Creation-Date: 2013-02-24 01:05+0000\n"
 
12069
-"PO-Revision-Date: 2007-05-23 01:17+0300\n"
 
12070
-"Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n"
 
12071
+"POT-Creation-Date: 2013-03-15 17:42+0000\n"
 
12072
+"PO-Revision-Date: 2013-11-01 22:29+0100\n"
 
12073
+"Last-Translator: Volkan Gezer <vlkngzr@gmail.com>\n"
 
12074
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
 
12075
 "Language: tr\n"
 
12076
 "MIME-Version: 1.0\n"
 
12077
 "Content-Type: text/plain; charset=UTF-8\n"
 
12078
 "Content-Transfer-Encoding: 8bit\n"
 
12079
-"X-Generator: KBabel 1.11.4\n"
 
12080
+"X-Generator: Lokalize 1.5\n"
 
12081
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
12082
 
 
12083
 #: charset.c:673
 
12084
@@ -121,10 +123,9 @@
 
12085
 msgstr "ISO standardı olmayan önceleme dizgesi, '\\%c'"
 
12086
 
 
12087
 #: charset.c:1320
 
12088
-#, fuzzy, c-format
 
12089
-#| msgid "unknown escape sequence '\\%c'"
 
12090
+#, c-format
 
12091
 msgid "unknown escape sequence: '\\%c'"
 
12092
-msgstr "bilinmeyen önceleme dizgesi '\\%c'"
 
12093
+msgstr "bilinmeyen kaçış dizgesi: '\\%c'"
 
12094
 
 
12095
 #: charset.c:1328
 
12096
 #, c-format
 
12097
@@ -163,10 +164,9 @@
 
12098
 msgstr "#%s bir GCC uzantısıdır"
 
12099
 
 
12100
 #: directives.c:362
 
12101
-#, fuzzy, c-format
 
12102
-#| msgid "#%s is a GCC extension"
 
12103
+#, c-format
 
12104
 msgid "#%s is a deprecated GCC extension"
 
12105
-msgstr "#%s bir GCC uzantısıdır"
 
12106
+msgstr "#%s eskimiş bir GCC uzantısıdır"
 
12107
 
 
12108
 #: directives.c:375
 
12109
 msgid "suggest not using #elif in traditional C"
 
12110
@@ -247,7 +247,7 @@
 
12111
 
 
12112
 #: directives.c:909
 
12113
 msgid "unexpected end of file after #line"
 
12114
-msgstr ""
 
12115
+msgstr "#line satırından sonra beklenmeyen dosya sonu"
 
12116
 
 
12117
 #: directives.c:912
 
12118
 #, c-format
 
12119
@@ -271,7 +271,7 @@
 
12120
 #: directives.c:1068 directives.c:1070 directives.c:1072 directives.c:1658
 
12121
 #, c-format
 
12122
 msgid "%s"
 
12123
-msgstr ""
 
12124
+msgstr "%s"
 
12125
 
 
12126
 #: directives.c:1096
 
12127
 #, c-format
 
12128
@@ -312,16 +312,12 @@
 
12129
 msgstr "main dosyasında '#pragma once'"
 
12130
 
 
12131
 #: directives.c:1462
 
12132
-#, fuzzy
 
12133
-#| msgid "invalid #pragma GCC poison directive"
 
12134
 msgid "invalid #pragma push_macro directive"
 
12135
-msgstr "geçersiz #pragma GCC poison yönergesi"
 
12136
+msgstr "geçersiz #pragma güdümlü_makro yönergesi"
 
12137
 
 
12138
 #: directives.c:1517
 
12139
-#, fuzzy
 
12140
-#| msgid "invalid #pragma GCC poison directive"
 
12141
 msgid "invalid #pragma pop_macro directive"
 
12142
-msgstr "geçersiz #pragma GCC poison yönergesi"
 
12143
+msgstr "geçersiz #pragma güdümlü_makro yönergesi"
 
12144
 
 
12145
 #: directives.c:1572
 
12146
 msgid "invalid #pragma GCC poison directive"
 
12147
@@ -347,10 +343,9 @@
 
12148
 msgstr "mevcut dosya %s den daha eski"
 
12149
 
 
12150
 #: directives.c:1653
 
12151
-#, fuzzy, c-format
 
12152
-#| msgid "invalid #pragma GCC poison directive"
 
12153
+#, c-format
 
12154
 msgid "invalid \"#pragma GCC %s\" directive"
 
12155
-msgstr "geçersiz #pragma GCC poison yönergesi"
 
12156
+msgstr "geçersiz \"#pragma GCC %s\" yönergesi"
 
12157
 
 
12158
 #: directives.c:1847
 
12159
 msgid "_Pragma takes a parenthesized string literal"
 
12160
@@ -405,7 +400,7 @@
 
12161
 msgid "\"%s\" re-asserted"
 
12162
 msgstr "\"%s\" tekrar olumlanmış"
 
12163
 
 
12164
-#: directives.c:2566
 
12165
+#: directives.c:2567
 
12166
 #, c-format
 
12167
 msgid "unterminated #%s"
 
12168
 msgstr "sonlandırılmamış #%s"
 
12169
@@ -424,16 +419,12 @@
 
12170
 msgstr "%s: %s"
 
12171
 
 
12172
 #: expr.c:479 expr.c:577
 
12173
-#, fuzzy
 
12174
-#| msgid "imaginary constants are a GCC extension"
 
12175
 msgid "fixed-point constants are a GCC extension"
 
12176
-msgstr "sanal sabitler bir GCC genişletmesidir"
 
12177
+msgstr "sabit noktalı sabitler bir GCC uzantısıdır"
 
12178
 
 
12179
 #: expr.c:504
 
12180
-#, fuzzy
 
12181
-#| msgid "invalid suffix \"%.*s\" on floating constant"
 
12182
 msgid "invalid prefix \"0b\" for floating constant"
 
12183
-msgstr "gerçel sabitin \"%.*s\" soneki geçersiz"
 
12184
+msgstr "kayan nokta için geçerisz \"0b\" öntakısı"
 
12185
 
 
12186
 #: expr.c:514
 
12187
 msgid "use of C99 hexadecimal floating constant"
 
12188
@@ -450,10 +441,8 @@
 
12189
 msgstr "geleneksel C \"%.*s\" sonekini kullanmaz"
 
12190
 
 
12191
 #: expr.c:564
 
12192
-#, fuzzy
 
12193
-#| msgid "imaginary constants are a GCC extension"
 
12194
 msgid "suffix for double constant is a GCC extension"
 
12195
-msgstr "sanal sabitler bir GCC genişletmesidir"
 
12196
+msgstr "çift sabit için öntakı bir GCC uzantısıdır"
 
12197
 
 
12198
 #: expr.c:570
 
12199
 #, c-format
 
12200
@@ -461,10 +450,8 @@
 
12201
 msgstr "onaltılık kayan sabitli \"%.*s\" soneki geçersiz"
 
12202
 
 
12203
 #: expr.c:581
 
12204
-#, fuzzy
 
12205
-#| msgid "imaginary constants are a GCC extension"
 
12206
 msgid "decimal float constants are a GCC extension"
 
12207
-msgstr "sanal sabitler bir GCC genişletmesidir"
 
12208
+msgstr "onluk kayan sabitler bir GCC uzantısıdır"
 
12209
 
 
12210
 #: expr.c:599
 
12211
 #, c-format
 
12212
@@ -472,10 +459,8 @@
 
12213
 msgstr "tamsayı sabitte sonek \"%.*s\" soneki geçersiz"
 
12214
 
 
12215
 #: expr.c:624
 
12216
-#, fuzzy
 
12217
-#| msgid "use of C99 long long integer constant"
 
12218
 msgid "use of C++0x long long integer constant"
 
12219
-msgstr "ISO C99 long long tamsayı sabitleri yasaklar"
 
12220
+msgstr "ISO C++0x long long tamsayı sabitlerinin kullanımı"
 
12221
 
 
12222
 #: expr.c:625
 
12223
 msgid "use of C99 long long integer constant"
 
12224
@@ -486,10 +471,8 @@
 
12225
 msgstr "sanal sabitler bir GCC genişletmesidir"
 
12226
 
 
12227
 #: expr.c:644
 
12228
-#, fuzzy
 
12229
-#| msgid "imaginary constants are a GCC extension"
 
12230
 msgid "binary constants are a GCC extension"
 
12231
-msgstr "sanal sabitler bir GCC genişletmesidir"
 
12232
+msgstr "ikili sabitler bir GCC uzantısıdır"
 
12233
 
 
12234
 #: expr.c:737
 
12235
 msgid "integer constant is too large for its type"
 
12236
@@ -517,10 +500,8 @@
 
12237
 msgstr "\"defined\" bu kullanımıyla uyarlanabilir olmayabilir"
 
12238
 
 
12239
 #: expr.c:948
 
12240
-#, fuzzy
 
12241
-#| msgid "integer overflow in preprocessor expression"
 
12242
 msgid "user-defined literal in preprocessor expression"
 
12243
-msgstr "önişlemci ifadesinde tamsayı taşması"
 
12244
+msgstr "önişleyici ifadesinde kullanıcı tanımlı bağımlı"
 
12245
 
 
12246
 #: expr.c:953
 
12247
 msgid "floating constant in preprocessor expression"
 
12248
@@ -536,20 +517,17 @@
 
12249
 msgstr "\"%s\" tanımlı değil"
 
12250
 
 
12251
 #: expr.c:1020
 
12252
-#, fuzzy
 
12253
-#| msgid "#%s is a GCC extension"
 
12254
 msgid "assertions are a GCC extension"
 
12255
-msgstr "#%s bir GCC uzantısıdır"
 
12256
+msgstr "belirteçler bir GCC uzantısıdır"
 
12257
 
 
12258
 #: expr.c:1023
 
12259
 msgid "assertions are a deprecated extension"
 
12260
-msgstr ""
 
12261
+msgstr "belirteçler artık kullanılmayan bir ifadedir"
 
12262
 
 
12263
 #: expr.c:1268
 
12264
-#, fuzzy, c-format
 
12265
-#| msgid "unbalanced stack in #if"
 
12266
+#, c-format
 
12267
 msgid "unbalanced stack in %s"
 
12268
-msgstr "#if ifadesinde karşılıksız yığın"
 
12269
+msgstr "%s içinde dengelenmemiş yığın"
 
12270
 
 
12271
 #: expr.c:1288
 
12272
 #, c-format
 
12273
@@ -594,39 +572,39 @@
 
12274
 msgid "division by zero in #if"
 
12275
 msgstr "#if içinde sıfırla bölme"
 
12276
 
 
12277
-#: files.c:504
 
12278
+#: files.c:505
 
12279
 msgid "NULL directory in find_file"
 
12280
 msgstr "find_file içinde boş dizin"
 
12281
 
 
12282
-#: files.c:542
 
12283
+#: files.c:553
 
12284
 msgid "one or more PCH files were found, but they were invalid"
 
12285
 msgstr "bir veya daha fazla PCH dosyası bulundu ama bunlar geçersiz"
 
12286
 
 
12287
-#: files.c:545
 
12288
+#: files.c:556
 
12289
 msgid "use -Winvalid-pch for more information"
 
12290
 msgstr "daha fazla bilgi almak için -Winvalid-pch kullanın"
 
12291
 
 
12292
-#: files.c:643
 
12293
+#: files.c:660
 
12294
 #, c-format
 
12295
 msgid "%s is a block device"
 
12296
 msgstr "%s bir blok aygıtıdır"
 
12297
 
 
12298
-#: files.c:660
 
12299
+#: files.c:677
 
12300
 #, c-format
 
12301
 msgid "%s is too large"
 
12302
 msgstr "%s çok büyük"
 
12303
 
 
12304
-#: files.c:700
 
12305
+#: files.c:717
 
12306
 #, c-format
 
12307
 msgid "%s is shorter than expected"
 
12308
 msgstr "%s beklenenden daha kısa"
 
12309
 
 
12310
-#: files.c:935
 
12311
+#: files.c:953
 
12312
 #, c-format
 
12313
 msgid "no include path in which to search for %s"
 
12314
 msgstr "%s için aranacaklar içinde başlık dosyaları yolu yok"
 
12315
 
 
12316
-#: files.c:1363
 
12317
+#: files.c:1381
 
12318
 msgid "Multiple include guards may be useful for:\n"
 
12319
 msgstr "Çoklu include önlemleri aşağıdakiler için kullanışlı olabilir:\n"
 
12320
 
 
12321
@@ -717,27 +695,24 @@
 
12322
 #: lex.c:1178 lex.c:1255
 
12323
 #, c-format
 
12324
 msgid "identifier \"%s\" is a special operator name in C++"
 
12325
-msgstr ""
 
12326
+msgstr "\"%s\" belirteci, C++'da özel bir işleç adıdır"
 
12327
 
 
12328
 #: lex.c:1399
 
12329
 msgid "raw string delimiter longer than 16 characters"
 
12330
-msgstr ""
 
12331
+msgstr "ham dizge ayracı 16 karakterden uzun"
 
12332
 
 
12333
 #: lex.c:1402
 
12334
-#, fuzzy, c-format
 
12335
-#| msgid "universal character %.*s is not valid in an identifier"
 
12336
+#, c-format
 
12337
 msgid "invalid character '%c' in raw string delimiter"
 
12338
-msgstr "evrensel karakter %.*s bir belirteç içinde geçerli değil"
 
12339
+msgstr "ham dizge ayracında geçersiz karakter '%c'"
 
12340
 
 
12341
 #: lex.c:1525 lex.c:1547
 
12342
-#, fuzzy
 
12343
-#| msgid "unterminated #%s"
 
12344
 msgid "unterminated raw string"
 
12345
-msgstr "sonlandırılmamış #%s"
 
12346
+msgstr "bitirilmemiş ham dizge"
 
12347
 
 
12348
 #: lex.c:1573 lex.c:1706
 
12349
 msgid "invalid suffix on literal; C++11 requires a space between literal and identifier"
 
12350
-msgstr ""
 
12351
+msgstr "geçersiz ifade soneki; C++11 ifade ve tanımlayıcı arasında bir boşluk gerektirir"
 
12352
 
 
12353
 #: lex.c:1684
 
12354
 msgid "null character(s) preserved in literal"
 
12355
@@ -785,7 +760,7 @@
 
12356
 
 
12357
 #: macro.c:377
 
12358
 msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
 
12359
-msgstr ""
 
12360
+msgstr "__COUNTER__ -fdirectives-only ile talimat içerisinde genişletildi"
 
12361
 
 
12362
 #: macro.c:535
 
12363
 msgid "invalid string literal, ignoring final '\\'"
 
12364
@@ -823,7 +798,7 @@
 
12365
 #: macro.c:1746
 
12366
 #, c-format
 
12367
 msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
 
12368
-msgstr ""
 
12369
+msgstr "%s makrosu %d argümanı uygulanıyor: ISO C90 ve ISO C++98 içerisinde boş makro argümanları tanımsızdır"
 
12370
 
 
12371
 #: macro.c:2708
 
12372
 #, c-format
 
12373
@@ -890,38 +865,36 @@
 
12374
 msgid "invalid hash type %d in cpp_macro_definition"
 
12375
 msgstr "cpp_macro_definition içindeki isimli yapı türü %d geçersiz"
 
12376
 
 
12377
-#: pch.c:87 pch.c:335 pch.c:347 pch.c:365 pch.c:371 pch.c:380 pch.c:387
 
12378
+#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
 
12379
 msgid "while writing precompiled header"
 
12380
 msgstr "önderlemeli başlık yazılırken"
 
12381
 
 
12382
-#: pch.c:607
 
12383
-#, fuzzy, c-format
 
12384
-#| msgid "%s: not used because `%s' is defined"
 
12385
+#: pch.c:619
 
12386
+#, c-format
 
12387
 msgid "%s: not used because `%.*s' is poisoned"
 
12388
-msgstr "%s: `%s' tanımlı olduğundan kullanılmadı"
 
12389
+msgstr "%s: `%.*s' zehirli olduğu için kullanılmadı"
 
12390
 
 
12391
-#: pch.c:629
 
12392
+#: pch.c:641
 
12393
 #, c-format
 
12394
 msgid "%s: not used because `%.*s' not defined"
 
12395
 msgstr "%s: `%.*s' tanımlı olmadığından kullanılmadı"
 
12396
 
 
12397
-#: pch.c:641
 
12398
+#: pch.c:653
 
12399
 #, c-format
 
12400
 msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
 
12401
 msgstr "%s: `%.*s' kullanılmadı çünkü `%s' olarak tanımlı, `%.*s' değil"
 
12402
 
 
12403
-#: pch.c:682
 
12404
+#: pch.c:694
 
12405
 #, c-format
 
12406
 msgid "%s: not used because `%s' is defined"
 
12407
 msgstr "%s: `%s' tanımlı olduğundan kullanılmadı"
 
12408
 
 
12409
-#: pch.c:702
 
12410
-#, fuzzy, c-format
 
12411
-#| msgid "%s: not used because `%s' is defined"
 
12412
+#: pch.c:714
 
12413
+#, c-format
 
12414
 msgid "%s: not used because `__COUNTER__' is invalid"
 
12415
-msgstr "%s: `%s' tanımlı olduğundan kullanılmadı"
 
12416
+msgstr "%s: `__COUNTER__' geçersiz olduğundan kullanılmadı"
 
12417
 
 
12418
-#: pch.c:711 pch.c:886
 
12419
+#: pch.c:723 pch.c:898
 
12420
 msgid "while reading precompiled header"
 
12421
 msgstr "önderlemeli başlık okunurken"
 
12422
 
 
12423
Index: .
 
12424
===================================================================
 
12425
--- a/src/.     (.../tags/gcc_4_8_2_release)
 
12426
+++ b/src/.     (.../branches/gcc-4_8-branch)
 
12427
 
 
12428
Property changes on: .
 
12429
___________________________________________________________________
 
12430
Modified: svn:mergeinfo
 
12431
   Merged /trunk:r202766,204547