Well, NASA used goto as well, thus the nice flow-charts. Also, I am not allergic against gotos in general. :lol:
I just prefer gotos that are not named goto.
Often, break, continue or return statements are better alternatives there because they describe better what the goto does. Its still a nice goto in execution of course.
And if you really want to know what made me crazy (No, it was not Batman), imagine a single C99 function. Its 2800 lines of code long. It has a label "skip:" near its end. In various places under varying conditions, a "goto skip;" appears. You have TRACE log messages everywhere in development. But a bug appeared in production, with Log level INFO, you only know this function was entered with some input data and left with the wrong outputs. You have to debug this function.
In SSU, we can of course use exception handling in our general code. In the future GPC process bodies, I think staying close to the flowchart and using a HAL/S-like domain specific language to stay close to the macros used there is better for readability and verification. Thus: If there is a goto in the flow-chart, we should use a goto in code.