1  /* Test for cross x86_64<->w64 abi standard calls via variable.  */
       2  /* { dg-options "-O2 -mabi=ms -std=gnu99 -ffast-math -fno-builtin" } */
       3  
       4  typedef int (*func)(void *, char *, char *, short, long long);
       5  
       6  static int
       7  callback (void *ptr, char *string1, char *string2, short number,
       8  	  long long rand)
       9  {
      10    if (ptr != 0
      11        || string1 != 0
      12        || string2 != 0
      13        || number != 0x1234
      14        || rand != 0x1234567890abcdefLL)
      15      return 1;
      16    else
      17      return 0;
      18  }
      19  
      20  func
      21  get_callback (void)
      22  {
      23    return callback;
      24  }