# HG changeset patch # User David A. Holland # Date 1370922407 14400 # Node ID 83ad94eec98f0a90c0b733fa77b33495012bdf2b # Parent 408331be879220fe40860f28d8d1b4a23f9a9722 don't rely on netbsd cdefs.h diff -r 408331be8792 -r 83ad94eec98f utils.h --- a/utils.h Mon Jun 10 23:33:37 2013 -0400 +++ b/utils.h Mon Jun 10 23:46:47 2013 -0400 @@ -32,6 +32,13 @@ struct place; +#if defined(__CLANG__) || defined(__GNUC__) +#define PF(a, b) __attribute__((__format__(__printf__, a, b))) +#define DEAD __attribute__((__noreturn__)) +#else +#define PF(a, b) +#define DEAD +#endif #define HOWMANY(arr) (sizeof(arr)/sizeof((arr)[0])) @@ -53,10 +60,10 @@ bool is_identifier(const char *str); /* in place.c */ -void complain(const struct place *, const char *fmt, ...) __printflike(2, 3); +void complain(const struct place *, const char *fmt, ...) PF(2, 3); void complain_fail(void); bool complain_failed(void); /* in main.c */ void freestringlater(char *s); -__dead void die(void); +DEAD void die(void);