Hi! Following patch documents store merging improvements, -fsanitize=builtin, -fsanitize=pointer-overflow and C++2A progress.
Ok for wwwdocs? --- changes.html 3 Apr 2018 06:52:04 -0000 1.51 +++ changes.html 4 Apr 2018 07:41:06 -0000 @@ -113,6 +113,21 @@ a work-in-progress.</h2> possible for the user to have a finer-grained control over the loop unrolling optimization. </li> + <li> + The store merging pass has been enhanced to handle bitfields and not + just constant stores, but also data copying from adjacent memory + locations into other adjacent memory locations, including bitwise + logical operations on the data. The pass can also handle byte swapping + into memory locations. + </li> + <li> + The undefined behavior sanitizer gained two new options included in + <code>-fsanitize=undefined</code>: <code>-fsanitize=builtin</code> which + diagnoses at runtime invalid arguments to <code>__builtin_clz</code> or + <code>__builtin_ctz</code> prefixed builtins, and + <code>-fsanitize=pointer-overflow</code> which performs cheap runtime + tests for pointer wrapping. + </li> </ul> @@ -187,7 +202,17 @@ a work-in-progress.</h2> <h3 id="cxx">C++</h3> <ul> - <li></li> + <li> + The C++ front end has experimental support for some of the upcoming C++2a + draft features with the <code>-std=c++2a</code> or <code>-std=gnu++2a</code> + flags, including designated initializers, default member initializers for + bit-fields, <code>__VA_OPT__</code> (except that + <code>#__VA_OPT__</code> is unsupported), lambda <code>[=, this]</code> + captures, etc. + For a full list of new features, + see <a href="https://gcc.gnu.org/projects/cxx-status.html#cxx2a">the C++ + status page</a>. + </li> </ul> <h3 id="fortran">Fortran</h3> Jakub