https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82146
--- Comment #3 from MaaSoftware <maasoftware at yandex dot ru> --- Ok. So, it is need to review such code according new standard. PS: g++ 4.9.2 (Debian 8 Jessie) is compilling code above right. But it is not sufficient for 6.3.0 to write a function like void NotWorkedBugAround(CMaaString *a, CMaaString b) { if (a) { *a = b; } } and call NotWorkedBugAround(&Path, FileName); instead of if (&Path) { Path = FileName; } to avoid wrong NULL references handling. (Tested with -O2 and -O3).