39 lines
701 B
C
39 lines
701 B
C
/* Check that arc profiling instrumentation code does not cause problems for
|
|
a program that calls functions that are likely to be in a shared library.
|
|
This was added to check the fix for PR target/5469, which prevents arc
|
|
profiling code from being inserted between a call and the restore of the
|
|
call-clobbered global pointer. */
|
|
|
|
/* { dg-options "-fprofile-arcs" } */
|
|
/* { dg-do run { target native } } */
|
|
|
|
#include <stdlib.h>
|
|
|
|
int globvar;
|
|
|
|
void
|
|
leave (int i)
|
|
{
|
|
if (i != 0)
|
|
abort ();
|
|
exit (0);
|
|
}
|
|
|
|
void
|
|
doit ()
|
|
{
|
|
srand (12);
|
|
globvar = rand ();
|
|
if (rand () > 0)
|
|
globvar = 0;
|
|
leave (globvar);
|
|
}
|
|
|
|
int
|
|
main ()
|
|
{
|
|
doit ();
|
|
}
|
|
|
|
/* { dg-final { cleanup-coverage-files } } */
|