http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59264
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > But it works correctly in Turbo C and Borland C compiler why not in gcc Well, the point is precisely that all executions, Turbo C, Borland C or GCC, are equally correct, since the code has undefined behavior...