On 19/01/16 16:45 +0100, Jan Hubicka wrote:
Index: changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-6/changes.html,v retrieving revision 1.46 diff -u -r1.46 changes.html --- changes.html 22 Dec 2015 19:23:31 -0000 1.46 +++ changes.html 19 Jan 2016 15:42:56 -0000 @@ -43,6 +43,64 @@ of array bounds. In particular, it enables <code>-fsanitize=bounds</code> as well as instrumentation of flexible array member-like arrays.</li> + <li>Type based alias analysis now disambiguate accesses to different + pointers. This improve precision of the alias oracle by about 20-30% + on higher-level C++ programs. Programs doing invalid type punning + of pointer types may now need <code>-fno-strict-aliasing</code> + to work correctly.</li> + <li>Alias oracle now correctly supports <code>weakref</code> and + <code>alias</code> attributes. This makes it possible to access + both variable and its alias in one translation unit which is common + with link-time optimization.</li> + <li>Value range propagation now assume that <code>this</code> pointer + of C++ methods is non-NULL. This eliminates many NULL pointer checks
s/of C++ methods/in C++ member functions/
+ but also breaks some non-conforming code-bases (such as Qt-5, Chromium, + KDevelop). As a termporary work-around
s/termporary/temporary/