OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / 20001117-1.c
index 7266b01..a9de496 100644 (file)
@@ -1,6 +1,9 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -finstrument-functions" } */
 
+extern void abort (void);
+extern void exit (int);
+
 double
 foo (double a, double b)
 {
@@ -13,3 +16,27 @@ foo (double a, double b)
     return 0;
   return 2.0 * (b - c);
 }
+
+int main ()
+{
+  if (foo (1.0, 4.0) != 6.0)
+    abort ();
+  exit (0);
+}
+
+/* Abort on non-NULL CALL_SITE to ensure that __builtin_return_address
+   was expanded properly.  */
+void __attribute__((no_instrument_function))
+__cyg_profile_func_enter(void *this_fn, void *call_site)
+{
+  if (call_site == (void *)0)
+    abort ();
+}
+
+void __attribute__((no_instrument_function))
+__cyg_profile_func_exit(void *this_fn, void *call_site)
+{
+  if (call_site == (void *)0)
+    abort ();
+}
+