xref: /llvm-project/bolt/test/X86/Inputs/indirect_goto.c (revision 4c106cfdf7cf7eec861ad3983a3dd9a9e8f3a8ae)

main(int argc,char * argv[])1*92e306deSAmir Ayupov int main(int argc, char *argv[]) {
2*92e306deSAmir Ayupov   static const void *T1[] = { &&L1, &&L2 };
3*92e306deSAmir Ayupov   static const void *T2[] = { &&L2, &&L3 };
4*92e306deSAmir Ayupov 
5*92e306deSAmir Ayupov   const void **T = (argc > 1) ? T1 : T2;
6*92e306deSAmir Ayupov 
7*92e306deSAmir Ayupov   int i = 0;
8*92e306deSAmir Ayupov 
9*92e306deSAmir Ayupov L0:
10*92e306deSAmir Ayupov   goto *T[argc];
11*92e306deSAmir Ayupov L1:
12*92e306deSAmir Ayupov   ++i;
13*92e306deSAmir Ayupov L2:
14*92e306deSAmir Ayupov   i++;
15*92e306deSAmir Ayupov L3:
16*92e306deSAmir Ayupov   i++;
17*92e306deSAmir Ayupov   return i;
18*92e306deSAmir Ayupov }
19