From: Keith Owens <kaos@ocs.com.au>
To: Andrew Morton <andrewm@uow.edu.au>
Cc: "J . A . Magallon" <jamagallon@able.es>,
Hugh Dickins <hugh@veritas.com>,
Paul Gortmaker <p_gortmaker@yahoo.com>,
linux-kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] a more efficient BUG() macro
Date: Sun, 18 Feb 2001 12:47:17 +1100 [thread overview]
Message-ID: <20105.982460837@ocs3.ocs-net> (raw)
In-Reply-To: Your message of "Sun, 18 Feb 2001 12:33:35 +1100." <3A8F266F.AFA01552@uow.edu.au>
On Sun, 18 Feb 2001 12:33:35 +1100,
Andrew Morton <andrewm@uow.edu.au> wrote:
>__BASE_FILE__ does this. It expands to the thing which you
>typed on the `gcc' command line.
>
>bix:/home/morton> ./a.out
>3 at a.c
>3 at a.c
But __LINE__ is wrong. Forget what I said about __C_FILE__ and
__C_LINE__, __C_LINE__ would not work for inline functions. Looks like
the best option is a combination of __BASE_FILE__ and function name.
a.h
#define BUG() \
printf("kernel BUG in func %s, file %s\n",__FUNCTION__,__BASE_FILE__);
static inline void hello(void)
{
BUG();
}
a.c
#include <stdio.h>
#include <a.h>
int main()
{
hello();
hello();
return 0;
}
# gcc -I`pwd` `pwd`/a.c -o a
# ./a
kernel BUG in func hello, file /home/kaos/a.c
kernel BUG in func hello, file /home/kaos/a.c
next prev parent reply other threads:[~2001-02-18 1:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-17 8:51 [PATCH] a more efficient BUG() macro Paul Gortmaker
2001-02-17 12:26 ` Manfred Spraul
2001-02-17 12:57 ` Pauline Middelink
2001-02-17 13:15 ` Hugh Dickins
2001-02-17 14:22 ` J . A . Magallon
2001-02-17 15:14 ` J . A . Magallon
2001-02-17 17:04 ` [PATCH] conditionalize __io_virt_debug Jeff Garzik
2001-02-18 0:01 ` [PATCH] a more efficient BUG() macro Keith Owens
2001-02-18 0:33 ` J . A . Magallon
2001-02-18 0:48 ` Keith Owens
2001-02-18 1:33 ` Andrew Morton
2001-02-18 1:37 ` J . A . Magallon
2001-02-18 1:50 ` Andrew Morton
2001-02-18 1:47 ` Keith Owens [this message]
2001-02-18 14:27 ` Andi Kleen
2001-02-17 16:37 ` J . A . Magallon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20105.982460837@ocs3.ocs-net \
--to=kaos@ocs.com.au \
--cc=andrewm@uow.edu.au \
--cc=hugh@veritas.com \
--cc=jamagallon@able.es \
--cc=linux-kernel@vger.kernel.org \
--cc=p_gortmaker@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox