1  #include <stdio.h>
       2  
       3  extern int (*func_p) (void);
       4  extern int func (void);
       5  extern void foo (void);
       6  
       7  
       8  void
       9  bar (void)
      10  {
      11    if (func_p != &func || func_p () != 0xbadbeef)
      12      __builtin_abort ();
      13  }
      14  
      15  int
      16  main ()
      17  {
      18    func_p = &func;
      19    foo ();
      20    bar ();
      21    printf ("PASS\n");
      22    return 0;
      23  }