CSC448: AST Transformations: Eliminating High-Level Control Structures [50/133] |
Constructs:
Preservation of compound statements, lifetime of local variables
Peephole optimization
Further constructs:
"goto and Destructors in GNU C++
In C++ programs, you can safely use the goto statement. When you use it to exit a block which contains aggregates requiring destructors, the destructors will run before the goto transfers control. (In ANSI C++, goto is restricted to targets within the current block.)
The compiler still forbids using goto to enter a scope that requires constructors."