public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: "J . A . Magallon" <jamagallon@able.es>
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 11:48:13 +1100	[thread overview]
Message-ID: <19480.982457293@ocs3.ocs-net> (raw)
In-Reply-To: Your message of "Sun, 18 Feb 2001 01:33:53 BST." <20010218013353.A1331@werewolf.able.es>

On Sun, 18 Feb 2001 01:33:53 +0100, 
"J . A . Magallon" <jamagallon@able.es> wrote:
>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


But ....

a.h
static inline void hello(void) { printf("%d at %s\n",__LINE__,__FILE__); }

a.c
#include <stdio.h>
#include "a.h"

int main()
{
    hello();
    hello();
    return 0;
}

# ./a
1 at a.h
1 at a.h

Most uses of BUG() in headers use inline functions instead of #define.
48 occurrences of BUG() in include/{linux,asm-i386}, only 2 are in
#define.

>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.

Function names are not unique, especially when you get into modules.


  reply	other threads:[~2001-02-18  0:48 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 [this message]
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=19480.982457293@ocs3.ocs-net \
    --to=kaos@ocs.com.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