Re: elog with automatic file, line, and function

From: Pete Forman <pete(dot)forman(at)westerngeco(dot)com>
To: Larry Rosenman <ler(at)lerctr(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ian Lance Taylor <ian(at)airs(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: elog with automatic file, line, and function
Date: 2001-03-20 09:51:06
Message-ID: 15031.10250.607728.88980@kryten.bedford.waii.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Larry Rosenman writes:
> * Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> [010319 18:58]:
> > However, if the C99 spec has such a concept, they didn't use that name
> > for it ...
> My C99 compiler (SCO, UDK FS 7.1.1b), defines the following:
> Predefined names
>
> The following identifiers are predefined as object-like macros:
>
>
> __LINE__
> The current line number as a decimal constant.
>
> __FILE__
> A string literal representing the name of the file being compiled.
>
> __DATE__
> The date of compilation as a string literal in the form ``Mmm dd
> yyyy.''
>
> __TIME__
> The time of compilation, as a string literal in the form
> ``hh:mm:ss.''
>
> __STDC__
> The constant 1 under compilation mode -Xc, otherwise 0.
>
> __USLC__
> A positive integer constant; its definition signifies a USL C
> compilation system.
>
> Nothing for function that I can find.

It is called __func__ in C99 but it is not an object-like macro. The
difference is that it behaves as if it were declared thus.

static const char __func__[] = "function-name";

Those other identifiers can be used in this sort of way.

printf("Error in " __FILE__ " at line " __LINE__ "\n");

But you've got to do something like this for __func__.

printf("Error in %s\n", __func__);

--
Pete Forman -./\.- Disclaimer: This post is originated
WesternGeco -./\.- by myself and does not represent
pete(dot)forman(at)westerngeco(dot)com -./\.- opinion of Schlumberger, Baker
http://www.crosswinds.net/~petef -./\.- Hughes or their divisions.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Clift 2001-03-20 09:54:21 libpqeasy cursor error after multiple calls
Previous Message Justin Clift 2001-03-20 09:27:12 regression.diff wrong dir name