File: bug363.cc

package info (click to toggle)
aspectc%2B%2B 1.0pre4~svn.20090918-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 117,308 kB
  • ctags: 410,601
  • sloc: cpp: 1,883,007; ansic: 17,279; sh: 2,190; makefile: 1,088
file content (29 lines) | stat: -rw-r--r-- 417 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>

int main () {
  void *array[] = { &&l1, &&l2, &&l3 };

#ifndef __cplusplus
  const int array2[] = { &&l1 - &&l1, &&l2 - &&l1, &&l3 - &&l1 };
#endif
  
  void *ptr = &&l2;
  goto *ptr;

 l1:
  printf ("l1\n");
#ifndef __cplusplus
  goto *(&&l1 + array2[2]);
#else
  goto end;
#endif
 l2:
  printf ("l2\n");
  goto *array[0];
 l3:
  printf ("l3\n");
  goto end;

 end:
  printf ("end reached\n");
}