Remove __nonnull (in favor of _Nonnull).

It's a dangerous pain in the ass, and we're only using it in one place, and
that's a mistake too.

Change-Id: Ida1d1286aaa1343bdee95fa092fcb45ff3258f77
diff --git a/libc/include/sys/cdefs.h b/libc/include/sys/cdefs.h
index 8cde1c7..26d0382 100644
--- a/libc/include/sys/cdefs.h
+++ b/libc/include/sys/cdefs.h
@@ -140,7 +140,7 @@
  *       // The following null check will be elided because nonnull attribute
  *       // means that, since we call foo with p, p can be assumed to not be
  *       // null. Thus this will crash if we are called with a null pointer.
- *       if (src != NULL) {
+ *       if (p != NULL) {
  *         return *p;
  *       }
  *       return 0;
@@ -156,10 +156,8 @@
 #define _Nonnull
 #endif
 
-#define __nonnull(args) __attribute__((__nonnull__ args))
-
-#define __printflike(x, y) __attribute__((__format__(printf, x, y))) __nonnull((x))
-#define __scanflike(x, y) __attribute__((__format__(scanf, x, y))) __nonnull((x))
+#define __printflike(x, y) __attribute__((__format__(printf, x, y)))
+#define __scanflike(x, y) __attribute__((__format__(scanf, x, y)))
 
 /*
  * GNU C version 2.96 added explicit branch prediction so that