From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: "Martin Ågren" <martin.agren@gmail.com>,
"Git Mailing List" <git@vger.kernel.org>,
"Taylor Blau" <me@ttaylorr.com>
Subject: Re: [PATCH] list-objects-filter-options: fix function name in BUG
Date: Tue, 17 Nov 2020 18:24:02 -0800 [thread overview]
Message-ID: <20201118022402.GC360414@google.com> (raw)
In-Reply-To: <20201117225401.GA642410@coredump.intra.peff.net>
Jeff King wrote:
> I actually wonder if it is time to drop HAVE_VARIADIC_MACROS completely.
> They are in C99, and we have been introducing many other C99-isms. It
> would be a minor cleanup to a few bits of code, which perhaps isn't
> worth the risk. But I also have a vague memory of not being able to
> implement some interfaces because we couldn't count on them.
>
> Poking around, 3689539127 (add helpers for allocating flex-array
> structs, 2016-02-22) points out one such case. I think discussion of
> BUG_ON() got blocked by that, too. Looks like we also discussed them in
> the big "C99 weather balloon" thread:
>
> https://lore.kernel.org/git/20170710070342.txmlwwq6gvjkwtw7@sigill.intra.peff.net/
>
> Maybe it's time for something like this as a test:
Yes. For what it's worth,
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Want to re-send with a signoff?
Thanks,
Jonathan
> diff --git a/git-compat-util.h b/git-compat-util.h
> index 2fd9d5b403..fe5de2239f 100644
> --- a/git-compat-util.h
> +++ b/git-compat-util.h
> @@ -1194,14 +1194,9 @@ static inline int regexec_buf(const regex_t *preg, const char *buf, size_t size,
> /* usage.c: only to be used for testing BUG() implementation (see test-tool) */
> extern int BUG_exit_code;
>
> -#ifdef HAVE_VARIADIC_MACROS
> __attribute__((format (printf, 3, 4))) NORETURN
> void BUG_fl(const char *file, int line, const char *fmt, ...);
> #define BUG(...) BUG_fl(__FILE__, __LINE__, __VA_ARGS__)
> -#else
> -__attribute__((format (printf, 1, 2))) NORETURN
> -void BUG(const char *fmt, ...);
> -#endif
>
> /*
> * Preserves errno, prints a message, but gives no warning for ENOENT.
> diff --git a/usage.c b/usage.c
> index 06665823a2..b72f48f70e 100644
> --- a/usage.c
> +++ b/usage.c
> @@ -273,23 +273,13 @@ static NORETURN void BUG_vfl(const char *file, int line, const char *fmt, va_lis
> abort();
> }
>
> -#ifdef HAVE_VARIADIC_MACROS
> NORETURN void BUG_fl(const char *file, int line, const char *fmt, ...)
> {
> va_list ap;
> va_start(ap, fmt);
> BUG_vfl(file, line, fmt, ap);
> va_end(ap);
> }
> -#else
> -NORETURN void BUG(const char *fmt, ...)
> -{
> - va_list ap;
> - va_start(ap, fmt);
> - BUG_vfl(NULL, 0, fmt, ap);
> - va_end(ap);
> -}
> -#endif
>
> #ifdef SUPPRESS_ANNOTATED_LEAKS
> void unleak_memory(const void *ptr, size_t len)
next prev parent reply other threads:[~2020-11-18 2:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-14 8:43 [PATCH] list-objects-filter-options: fix function name in BUG Martin Ågren
2020-11-17 2:13 ` Jeff King
2020-11-17 18:02 ` Martin Ågren
2020-11-17 22:54 ` Jeff King
2020-11-17 23:07 ` Eric Sunshine
2020-11-18 2:08 ` Jeff King
2020-11-18 2:24 ` Jonathan Nieder [this message]
2020-11-18 6:22 ` Martin Ågren
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201118022402.GC360414@google.com \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=martin.agren@gmail.com \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).