label3.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 40 行
C
40 行
// 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 + =
减小字号Ctrl + -
显示快捷键?