-__dead void err __P((int, const char *, ...)) __attribute__((__noreturn__));
-__dead void verr __P((int, const char *, _BSD_VA_LIST_)) __attribute__((__noreturn__));
-__dead void errx __P((int, const char *, ...)) __attribute__((__noreturn__));
-__dead void verrx __P((int, const char *, _BSD_VA_LIST_)) __attribute__((__noreturn__));
-void warn __P((const char *, ...));
-void vwarn __P((const char *, _BSD_VA_LIST_));
-void warnx __P((const char *, ...));
-void vwarnx __P((const char *, _BSD_VA_LIST_));
+void err(int, const char *, ...) __cold __dead2 __printflike(2, 3);
+void verr(int, const char *, __darwin_va_list) __cold __dead2 __printflike(2, 0);
+void errc(int, int, const char *, ...) __cold __dead2 __printflike(3, 4);
+void verrc(int, int, const char *, __darwin_va_list) __cold __dead2 __printflike(3, 0);
+void errx(int, const char *, ...) __cold __dead2 __printflike(2, 3);
+void verrx(int, const char *, __darwin_va_list) __cold __dead2 __printflike(2, 0);
+void warn(const char *, ...) __cold __printflike(1, 2);
+void vwarn(const char *, __darwin_va_list) __cold __printflike(1, 0);
+void warnc(int, const char *, ...) __cold __printflike(2, 3);
+void vwarnc(int, const char *, __darwin_va_list) __cold __printflike(2, 0);
+void warnx(const char *, ...) __cold __printflike(1, 2);
+void vwarnx(const char *, __darwin_va_list) __cold __printflike(1, 0);
+void err_set_file(void *);
+void err_set_exit(void (* _Nullable)(int));
+#ifdef __BLOCKS__
+void err_set_exit_b(void (^ _Nullable)(int)) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
+#endif /* __BLOCKS__ */
+