Skip to content

Comment on Some of the error messages produced by Apple's MPW C compiler (2006)

Comments

This label is the target of a goto from outside of the block containing this label AND this block has an automatic variable with an initializer

I get this issue a lot on modern compilers, when trying to write switch/macro-based coroutines (https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html) in C++. Does anyone have a workaround? (I hope it doesn't involve C++20 coroutines... I still don't understand them.)

If your variable is a class without a trivial default constructor, then you're out of luck. Otherwise, the workaround is to not initialize the variable, and to instead assign to it immediately after declaring it (e.g., replace "int x = 42;" with "int x; x = 42;").

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.