ich finde den ganzen Hinweis/Post mit dem Sprung aus der Funktion heraus für gar nicht nachvollziehbar:
Sprung und Sprungadresse liegen doch innerhalb ein und derselben Funktion, oder etwa nicht?
Ansonsten müsste auch der Arduino-Compiler meckern, was er aber offenbar doch nicht tut. Dann aber hätte es nur zur Folge, dass der Sprung komplett rausoptimiert wird, denn Sprünge aus einer Funktion heraus gehen ja gar nicht, wie mxt richtig angemerkt hat.
Muss also andere Gründe haben...


goto allerdings finde ich persönlich für weder schlechten noch guten Stil, es vereinfacht oft komplizierte Abbruchbedingungen und ist daher ebenso legitim wie if, for, while, case (was ja auch wieder nur ein Sprung ist). Wer goto benutzen will, soll es tun, manchmal macht es Dinge sogar übersichtlicher.