https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82146
--- Comment #5 from MaaSoftware <maasoftware at yandex dot ru> --- Ok. I am sorry, return MyFunc(Num, *(CMaaString *)NULL, doc); // produces GPF in calling method not here. I have think before what all references are object memory pointers inside compiller, just it is more easy working with references of objects not with pointers in most ways. And no warning generated to *(CMaaString *)NULL code. CXXFLAGS = -pipe -W -O3 -fpermissive