re PR middle-end/40080 (error: missing callgraph edge for call stmt)
2009-05-11 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/40080 * gcc.c-torture/compile/pr40080.c: New. From-SVN: r147389
This commit is contained in:
parent
f5a1f0d01f
commit
26ab6a9370
@ -1,3 +1,8 @@
|
||||
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR middle-end/40080
|
||||
* gcc.c-torture/compile/pr40080.c: New.
|
||||
|
||||
2009-05-11 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* gcc.c-torture/compile/pr40026.c: New testcase.
|
||||
|
44
gcc/testsuite/gcc.c-torture/compile/pr40080.c
Normal file
44
gcc/testsuite/gcc.c-torture/compile/pr40080.c
Normal file
@ -0,0 +1,44 @@
|
||||
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;
|
Loading…
Reference in New Issue
Block a user