From: "J . A . Magallon" <jamagallon@able.es>
To: Keith Owens <kaos@ocs.com.au>
Cc: 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 01:33:53 +0100 [thread overview]
Message-ID: <20010218013353.A1331@werewolf.able.es> (raw)
In-Reply-To: <Pine.LNX.4.21.0102171200530.2029-100000@localhost.localdomain> <18856.982454476@ocs3.ocs-net>
In-Reply-To: <18856.982454476@ocs3.ocs-net>; from kaos@ocs.com.au on Sun, Feb 18, 2001 at 01:01:16 +0100
On 02.18 Keith Owens wrote:
>
> __C_FILE__ and __C_LINE__ refer to the .c or .s file that included the
> header, so you get the exact location of the failing code instead of
> the name and line number of a common header which is used all over the
> place. __C_FILE__ would be replaced with the minimum string required
Are you sure about that ?
Try this:
a.h:
#define hello printf("%d at %s\n",__LINE__,__FILE__)
a.c:
#include <stdio.h>
#include "a.h"
int main()
{
hello;
hello;
return 0;
}
werewolf:~/ko> gcc a.c -o a
werewolf:~/ko> a
6 at a.c
7 at a.c
(line changes, and name is .c)
because __FILE__ and __LINE__ are expanded with respect to the current
SOURCE file (see info cpp), not header file.
As I said before, my choose would be the __func__ + __LINE__ predefined macros.
I would prefer to see 'bug in my_buggy_device_init(), line 42'. And you can
even drop the __LINE__ part.
--
J.A. Magallon $> cd pub
mailto:jamagallon@able.es $> more beer
Linux werewolf 2.4.1-ac17 #1 SMP Sat Feb 17 01:47:56 CET 2001 i686
next prev parent reply other threads:[~2001-02-18 0:34 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 [this message]
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
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=20010218013353.A1331@werewolf.able.es \
--to=jamagallon@able.es \
--cc=hugh@veritas.com \
--cc=kaos@ocs.com.au \
--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