Switch to C11 noreturn to work around a compiler bug in llvm.

Elliott said:

Works around a clang bug in the version of clang shipping with Android T
that causes a miscompile in xstdio_create() on x86-64, that oddly only
affects __attribute__((__noreturn__)) and not _Noreturn!

Bug: http://b/225806996
Test: manual inspection of generated code on x86-64
Change-Id: I12302d2300fc454f92352b43090745c04ed66fd0
diff --git a/lib/lib.h b/lib/lib.h
index 1721dd6..70e5bed 100644
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -114,8 +114,8 @@
 // xwrap.c
 void xstrncpy(char *dest, char *src, size_t size);
 void xstrncat(char *dest, char *src, size_t size);
-void _xexit(void) __attribute__((__noreturn__));
-void xexit(void) __attribute__((__noreturn__));
+_Noreturn void _xexit(void);
+_Noreturn void xexit(void);
 void *xmmap(void *addr, size_t length, int prot, int flags, int fd, off_t off);
 void *xmalloc(size_t size);
 void *xzalloc(size_t size);
@@ -194,13 +194,13 @@
 void verror_msg(char *msg, int err, va_list va);
 void error_msg(char *msg, ...) printf_format;
 void perror_msg(char *msg, ...) printf_format;
-void error_exit(char *msg, ...) printf_format __attribute__((__noreturn__));
-void perror_exit(char *msg, ...) printf_format __attribute__((__noreturn__));
-void help_exit(char *msg, ...) printf_format __attribute__((__noreturn__));
+_Noreturn void error_exit(char *msg, ...) printf_format;
+_Noreturn void perror_exit(char *msg, ...) printf_format;
+_Noreturn void help_exit(char *msg, ...) printf_format;
 void error_msg_raw(char *msg);
 void perror_msg_raw(char *msg);
-void error_exit_raw(char *msg) __attribute__((__noreturn__));
-void perror_exit_raw(char *msg) __attribute__((__noreturn__));
+_Noreturn void error_exit_raw(char *msg);
+_Noreturn void perror_exit_raw(char *msg);
 ssize_t readall(int fd, void *buf, size_t len);
 ssize_t writeall(int fd, void *buf, size_t len);
 off_t lskip(int fd, off_t offset);