Skip site navigation (1)Skip section navigation (2)
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>