diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/special/eeprof-1.c')
-rwxr-xr-x | gcc/testsuite/gcc.c-torture/special/eeprof-1.c | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/gcc/testsuite/gcc.c-torture/special/eeprof-1.c b/gcc/testsuite/gcc.c-torture/special/eeprof-1.c deleted file mode 100755 index 6dad7ec..0000000 --- a/gcc/testsuite/gcc.c-torture/special/eeprof-1.c +++ /dev/null @@ -1,67 +0,0 @@ -#define ASSERT(X) if (!(X)) abort (); -#define NOCHK __attribute__ ((no_instrument_function)) - -int entry_calls, exit_calls; -void (*last_fn_entered)(); -void (*last_fn_exited)(); - -int main () NOCHK; - -void foo () -{ - ASSERT (last_fn_entered == foo); -} - -static void foo2 () -{ - ASSERT (entry_calls == 1 && exit_calls == 0); - ASSERT (last_fn_entered == foo2); - foo (); - ASSERT (entry_calls == 2 && exit_calls == 1); - ASSERT (last_fn_entered == foo); - ASSERT (last_fn_exited == foo); -} - -void nfoo (void) NOCHK; -void nfoo () -{ - ASSERT (entry_calls == 2 && exit_calls == 2); - ASSERT (last_fn_entered == foo); - ASSERT (last_fn_exited == foo2); - foo (); - ASSERT (entry_calls == 3 && exit_calls == 3); - ASSERT (last_fn_entered == foo); - ASSERT (last_fn_exited == foo); -} - -int main () -{ - ASSERT (entry_calls == 0 && exit_calls == 0); - - foo2 (); - - ASSERT (entry_calls == 2 && exit_calls == 2); - ASSERT (last_fn_entered == foo); - ASSERT (last_fn_exited == foo2); - - nfoo (); - - ASSERT (entry_calls == 3 && exit_calls == 3); - ASSERT (last_fn_entered == foo); - - return 0; -} - -void __cyg_profile_func_enter (void (*fn)(), void (*parent)()) NOCHK; -void __cyg_profile_func_exit (void (*fn)(), void (*parent)()) NOCHK; - -void __cyg_profile_func_enter (void (*fn)(), void (*parent)()) -{ - entry_calls++; - last_fn_entered = fn; -} -void __cyg_profile_func_exit (void (*fn)(), void (*parent)()) -{ - exit_calls++; - last_fn_exited = fn; -} |