annotate gcc/testsuite/gcc.c-torture/compile/pr40080.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 extern void *ff(void*,int);
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 struct lpgl { struct lpgl *next; };
kono
parents:
diff changeset
4 struct lpgd { struct lpgl *first; };
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 typedef int (*xfn)( );
kono
parents:
diff changeset
7 static void xDP_IF_EnumGroupsInGroup ( void *a, int b, xfn fn)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 struct lpgd *lpGData;
kono
parents:
diff changeset
10 struct lpgl *lpGList;
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 if( ( lpGData = ff( a, b ) ) == ((void *)0) )
kono
parents:
diff changeset
13 return;
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 if( lpGData->first == ((void *)0) )
kono
parents:
diff changeset
16 return;
kono
parents:
diff changeset
17 lpGList = lpGData->first;
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 for( ;; ) {
kono
parents:
diff changeset
20 if( !(*fn)( ) )
kono
parents:
diff changeset
21 return;
kono
parents:
diff changeset
22 if( lpGList->next == ((void *)0) )
kono
parents:
diff changeset
23 break;
kono
parents:
diff changeset
24 lpGList = lpGList->next;
kono
parents:
diff changeset
25 }
kono
parents:
diff changeset
26 return;
kono
parents:
diff changeset
27 }
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 static int
kono
parents:
diff changeset
31 xcbDeletePlayerFromAllGroups() {
kono
parents:
diff changeset
32 xDP_IF_EnumGroupsInGroup(0, 0, 0);
kono
parents:
diff changeset
33 return 1;
kono
parents:
diff changeset
34 }
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 void xDP_IF_EnumGroups( xfn fn) {
kono
parents:
diff changeset
37 xDP_IF_EnumGroupsInGroup( 0, 0, fn);
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 static void xDP_IF_DestroyPlayer () {
kono
parents:
diff changeset
41 xDP_IF_EnumGroups( xcbDeletePlayerFromAllGroups);
kono
parents:
diff changeset
42 }
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 void* foo=xDP_IF_DestroyPlayer;