It is common for compiler frontends to translate structured control flow into conditional branches and gotos. GCC, LLVM, and DEC/HP GEM are some of the compilers that do this. [0] is an old Usenet thread that discusses this topic.