arg2.C   [plain text]


// { dg-do assemble  }
// GROUPS passed arg-matching
// arg-matching file
// Message-Id: <199303032114.AA03574@kolvir.Boulder.ParcPlace.COM>
// From: Warner Losh <imp@boulder.parcplace.com>
// Subject: Overloading bug in g++ 2.3.3 (sparc) compiled by GNU C version 2.3.3
// Date: Wed, 03 Mar 1993 14:14:02 MST

class c1 { };

typedef void    (*fnp)(void *);
typedef void    (c1::*memfnp)(void *);
extern  void    fn1( fnp );
extern  void    fn1( c1*, memfnp );

void f3(void *) { }

void fn2()
{
        fn1((fnp) &f3);         // Everybody likes this
        fn1(&f3);               // g++ complains here  line 13
}