Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/compile/pr40080.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-require-effective-target indirect_calls } */ extern void *ff(void*,int); struct lpgl { struct lpgl *next; }; struct lpgd { struct lpgl *first; }; typedef int (*xfn)( ); static void xDP_IF_EnumGroupsInGroup ( void *a, int b, xfn fn) { struct lpgd *lpGData; struct lpgl *lpGList; if( ( lpGData = ff( a, b ) ) == ((void *)0) ) return; if( lpGData->first == ((void *)0) ) return; lpGList = lpGData->first; for( ;; ) { if( !(*fn)( ) ) return; if( lpGList->next == ((void *)0) ) break; lpGList = lpGList->next; } return; } static int xcbDeletePlayerFromAllGroups() { xDP_IF_EnumGroupsInGroup(0, 0, 0); return 1; } void xDP_IF_EnumGroups( xfn fn) { xDP_IF_EnumGroupsInGroup( 0, 0, fn); } static void xDP_IF_DestroyPlayer () { xDP_IF_EnumGroups( xcbDeletePlayerFromAllGroups); } void* foo=xDP_IF_DestroyPlayer;