📄 label3.c
字号:
// Bug: we were removing the p = q assignment in dce, and then reinserting// it *after* the try/catch in out-of-ssa. Oops.// testcase reduced from libjava/interpret.cc.// { dg-do run }// { dg-options "-O2" }extern "C" int printf (const char *, ...);bool b;int main(){ __label__ one, two, done; void *labs[] = { &&one, &&two, &&done }; const void **q = (const void **)labs; const void **p = q; try { one: printf ("one!\n"); if (b) throw 42; goto **p++; two: printf ("two!\n"); goto **p++; done: printf ("done!\n"); } catch (int) { printf ("caught!\n"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -