Listing 6

 1:  #include <stdio.h>
 2:
 3:  int newprintf( char *fmt, ... )
 4:  {
 5:    void *args, *ret;
 6:
 7:    args = __builtin_apply_args();
 8:    ret = __builtin_apply( (void *)printf, args, 1024 );
 9:
10:    __builtin_return( ret );
11:  }
12:
13:  int main()
14:  {
15:    newprintf( "A %s of the new %s function.\n",
16:                "test", "printf" );
17:    return 0;
18:  }