dmd v2.065 compatibility
bearophile
bearophileHUGS at lycos.com
Fri Mar 14 03:49:56 PDT 2014
Chris:
> [2]
> Another issue I encountered was when I recompiled the library,
> dmd 2.065 gave me an error that a goto statement skipped a
> variable. The case is as follows:
>
> if (condition) {
> goto Label;
> }
>
> auto variable = getVariableValue(); // Only needed, if
> "condition" above not true
> // do things with variable here (needed for what comes after
> "Label"
>
> Label:
> // Finish everything
>
> I know that scope would be better and this is the only goto I
> have left. In order for the code to compile I had to move (as a
> quick fix)
>
> auto variable = getVariableValue();
>
> to before the if (condition) statement. Is this by design?
D specs state that gotos can't be used to skip a variable
definition. In the last compiler version this rule has being
implemented and enforced. So the original code was not
D-conformant.
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list