Skip to content

Commit

Permalink
Use __VA_ARGS__ for all of error's arguments
Browse files Browse the repository at this point in the history
QNX 6.3.2 uses GCC 2.95.3 by default, and GCC 2.95.3 doesn't remove the
comma if the error macro's variable argument is left out.

Instead of testing for a sufficiently recent version of GCC, make
__VA_ARGS__ match all of the arguments.

Signed-off-by: Matt Kraai <matt.kraai@amo.abbott.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Matt Kraai authored and Junio C Hamano committed Feb 8, 2013
1 parent a469a10 commit 9798f7e
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions git-compat-util.h
Original file line number Diff line number Diff line change
Expand Up @@ -290,13 +290,13 @@ extern void warning(const char *err, ...) __attribute__((format (printf, 1, 2)))

/*
* Let callers be aware of the constant return value; this can help
* gcc with -Wuninitialized analysis. We have to restrict this trick to
* gcc, though, because of the variadic macro and the magic ## comma pasting
* behavior. But since we're only trying to help gcc, anyway, it's OK; other
* compilers will fall back to using the function as usual.
* gcc with -Wuninitialized analysis. We restrict this trick to gcc, though,
* because some compilers may not support variadic macros. Since we're only
* trying to help gcc, anyway, it's OK; other compilers will fall back to
* using the function as usual.
*/
#ifdef __GNUC__
#define error(fmt, ...) (error((fmt), ##__VA_ARGS__), -1)
#define error(...) (error(__VA_ARGS__), -1)
#endif

extern void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list params));
Expand Down

0 comments on commit 9798f7e

Please sign in to comment.