подмена возврата это чисто ассемблерное мышление, можно конечно и на сях использовать, но лучше перепродумать моторчик программы, чтоб не нужно было так извращаться. И потом, иди знай как такие конструкции будут поддерживаться следующими версиями компилятора, вдруг прийдется когданибудь чтото изменить, по сему код должен быть без извращений.