3 ms·
> return ({goto L; 0;}) && ({L: 5;}); What in the world…!! It’s in the GCC section so I assume it’s some kind of lambda-function-like compiler extension? Tha
by evouga 4y ago
> return ({goto L; 0;}) && ({L: 5;});
What in the world…!!
It’s in the GCC section so I assume it’s some kind of lambda-function-like compiler extension? That allows jumping between bodies of two different functions…!
- Joker_vD 4y agoIt's "statement exprs": "A compound statement enclosed in parentheses may appear as an expression in GNU C. This allows you to use loops, switches, and local variables within an expression. [...] The last thing in the compound statement should be an expression followed by a semicolon; the value of this subexpression serves as the value of the entire construct." [0] [0] https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html