1  /* { dg-do run { target { weak_undefined } } } */
       2  /* { dg-add-options weak_undefined } */
       3  
       4  int x(int a)
       5  {
       6    return a;
       7  }
       8  int y(int a) __attribute__ ((weak));
       9  int g = 0;
      10  int main()
      11  {
      12    int (*scan_func)(int);
      13    if (g)
      14      scan_func = x;
      15    else
      16      scan_func = y;
      17  
      18    if (scan_func)
      19      g = scan_func(10);
      20  
      21    return 0;
      22  }