On 02/08/2012 04:59 AM, Jonathan Wakely wrote:
Should they be?
How's this look for a news item and the changes file? Formatting seems
fine.
Is there no changelog for docs?
Andrew
Index: index.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.830
diff -c -p -r1.830 index.html
*** index.html 27 Jan 2012 10:54:58 -0000 1.830
--- index.html 8 Feb 2012 19:58:12 -0000
*************** mission statement</a>.</p>
*** 53,58 ****
--- 53,68 ----
<dl class="news">
+ <dt><span>Atomic memory model support</span>
+ <span class="date">[2011-11-06]</span></dt>
+ <dd>C+11/C11 memory model support has been added through a new set of built-in
+ __atomic functions. These new functions allow a memory model to be specified
+ for an operation and some targets may produce more efficient barriers and
+ synchronization code. Generic atomic support has also been added to allow
+ arbitrary sized data to be treated as atomic, and in turn the C++ atomic
+ class has been updated to allow atomic classes to be any size.
+ </dd>
+
<dt><span>Transactional memory support</span>
<span class="date">[2011-11-15]</span></dt>
<dd>An implementation of the
Index: gcc-4.7/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v
retrieving revision 1.76
diff -c -p -r1.76 changes.html
*** gcc-4.7/changes.html 8 Feb 2012 00:43:12 -0000 1.76
--- gcc-4.7/changes.html 8 Feb 2012 19:58:12 -0000
*************** void foo (char *a, const char *b, const
*** 223,228 ****
--- 223,249 ----
see <a href="http://gcc.gnu.org/wiki/TransactionalMemory">here</a>.
</p>
</li>
+
+ <li>
+ <p>
+ Support for atomic operations specifying the C++11/C11 memory model
have
+ been added. These new __atomic routines replace the existing __sync
+ built-in routines.
+ </p>
+ <p>
+ Atomic support is also available for memory blocks. Lock free
+ instructions will be used if a memory block is the same size and
+ alignment as a supported integer type. Atomic operations which do not
+ have lock free support are left as function calls. A set of library
+ functions are available on the GCC atomic wiki in the "External
+ Atomics Library" section.
+ </p>
+ <p>
+ For more details on the memory models and features, see the atomic wiki
+ <a href="http://gcc.gnu.org/wiki/Atomic/GCCMM">here</a>.
+ </p>
+ </li>
+
<li>When a binary operation performed on vector types and one of the
operands
is a uniform vector it is possible to replace the vector with the
generating element. For example:
*************** struct A {
*** 330,335 ****
--- 351,366 ----
A(): A(42) { } // delegate to the A(int) constructor
};</pre></blockquote></li>
+ <li>G++ now fully implements C++11 atomic classes rather than just integer
+ derived classes.
+ <blockquote><pre>
+ class POD {
+ int a;
+ int b;
+ };
+ std::atomic<POD> my_atomic_POD;
+ </pre></blockquote></li>
+
<li>G++ now sets the predefined macro <code>__cplusplus</code> to the
correct value, <code>199711L</code> for C++98/03,
and <code>201103L</code> for C++11.