Date: Mon, 1 Jun 2009 13:28:12 +0100 From: Bruce Cran <bruce@cran.org.uk> To: =?utf-8?Q?Ond=C5=99ej?= Majerech <oxyd.oxyd@gmail.com> Cc: Gary Kline <kline@thought.org>, FreeBSD Mailing List <freebsd-questions@freebsd.org> Subject: Re: how to i designate the current function...? Message-ID: <20090601132812.12d93819@gluon.draftnet> In-Reply-To: <op.uutgjpotyxk8o8@localhost> References: <20090531223136.GA9212@thought.org> <op.uutgjpotyxk8o8@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 01 Jun 2009 00:53:39 +0200
Ond=C5=99ej Majerech <oxyd.oxyd@gmail.com> wrote:
> On Mon, 01 Jun 2009 00:31:40 +0200, Gary Kline <kline@thought.org>
> wrote:
>=20
> > I'm not sure this is std yet, but think it is available in
> > gcc. If I'm calling funtion bar(char *, char) with one of the args
> > incorrect, is there a way to have gcc name bar() in an
> > error message?
> >
>=20
> Are you looking for the __FUNCTION__ macro?
>=20
> void baz( char yes_no ) {
> if ( yes_no =3D=3D 'Y' || yes_no =3D=3D 'N' ) {
> // Do stuff...
> } else {
> printf( "%s: %s\n", __FUNCTION__, "I got an invalid arg" );
> }
> }
>=20
> AFAIK, this isn't standard C, but well supported on GCC.
__FUNCTION__ is commonly supported, but has never been standardised;
C99 defines __func__ instead. See
http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html for details.
--=20
Bruce Cran
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090601132812.12d93819>
