(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
lto/
bind_c-5_1.c
       1  #include <stdlib.h>
       2  /* declared in the fortran module */
       3  extern int (*myVar) (int);
       4  extern float (*myVar2) (float);
       5  void types_test(void);
       6  
       7  
       8  extern void abort(void);
       9  
      10  int main(int argc, char **argv)
      11  {
      12     int (**myptr) (int);
      13     float (**myptr2) (float);
      14     asm("":"=r"(myptr):"0"(&myVar));
      15     asm("":"=r"(myptr2):"0"(&myVar2));
      16     *myptr = (int (*) (int)) (size_t) (void *)1;
      17     *myptr2 = (float (*) (float)) (size_t) (void *)2;
      18     types_test();
      19     if (*myptr != (int (*) (int)) (size_t) (void *)2)
      20  	abort ();
      21     if (*myptr2 != (float (*) (float)) (size_t) (void *)2)
      22  	abort ();
      23     *myptr2 = (float (*) (float)) (size_t) (void *)3;
      24     types_test();
      25     if (*myptr != (int (*) (int)) (size_t) (void *)3)
      26  	abort ();
      27     if (*myptr2 != (float (*) (float)) (size_t) (void *)3)
      28  	abort ();
      29     return 0;
      30  }
      31