Add printf format attributes
When compiling with gcc, we already include the attribute on check_msg() to give compiler warnings about mismatches between printf() like format strings and the corresponding arguments. This patch adds similar attributes for lexical_error() and die(). Suggested-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>main
parent
f72508e2b6
commit
34a9886a17
|
@ -62,7 +62,13 @@ static int dts_version = 1;
|
||||||
|
|
||||||
static void push_input_file(const char *filename);
|
static void push_input_file(const char *filename);
|
||||||
static bool pop_input_file(void);
|
static bool pop_input_file(void);
|
||||||
|
#ifdef __GNUC__
|
||||||
|
static void lexical_error(const char *fmt, ...)
|
||||||
|
__attribute__((format (printf, 1, 2)));
|
||||||
|
#else
|
||||||
static void lexical_error(const char *fmt, ...);
|
static void lexical_error(const char *fmt, ...);
|
||||||
|
#endif
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
14
util.h
14
util.h
|
@ -27,7 +27,13 @@
|
||||||
|
|
||||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||||
|
|
||||||
static inline void __attribute__((noreturn)) die(const char *str, ...)
|
#ifdef __GNUC__
|
||||||
|
static inline void
|
||||||
|
__attribute__((noreturn)) __attribute__((format (printf, 1, 2)))
|
||||||
|
die(const char *str, ...)
|
||||||
|
#else
|
||||||
|
static inline void die(const char *str, ...)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
|
@ -59,7 +65,13 @@ static inline void *xrealloc(void *p, size_t len)
|
||||||
}
|
}
|
||||||
|
|
||||||
extern char *xstrdup(const char *s);
|
extern char *xstrdup(const char *s);
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
extern int __attribute__((format (printf, 2, 3)))
|
||||||
|
xasprintf(char **strp, const char *fmt, ...);
|
||||||
|
#else
|
||||||
extern int xasprintf(char **strp, const char *fmt, ...);
|
extern int xasprintf(char **strp, const char *fmt, ...);
|
||||||
|
#endif
|
||||||
extern char *join_path(const char *path, const char *name);
|
extern char *join_path(const char *path, const char *name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue