UndefinedBehaviorSanitizer gained a new sanitization option,-fsanitize=bounds-strict, which enables strict checkingof array bounds. In particular, it enables-fsanitize=bounds as well as instrumentation offlexible array member-like arrays.
Type-based alias analysis now disambiguates accesses to differentpointers. This improves precision of the alias oracle by about 20-30%on higher-level C++ programs. Programs doing invalid type punningof pointer types may now need -fno-strict-aliasingto work correctly.
Alias analysis now correctly supports weakref andalias attributes. This makes it possible to accessboth a variable and its alias in one translation unit which is commonwith link-time optimization.
Value range propagation now assumes that the this pointerof C++ member functions is non-null. This eliminatescommon null pointer checksbut also breaks some non-conforming code-bases (such as Qt-5, Chromium,KDevelop). As a temporary work-around-fno-delete-null-pointer-checks can be used. Wrongcode can be>-fsanitize=undefined.