Move use of __warnattr to __deprecated.
clang don't support warning attribute. Replacing warning attriubte with
deprecated attribute can achieve the same behavior whether compiled by
gcc or clang.
Bug: 19340053
Change-Id: I064432b81cf55212458edbc749eb72dc15a810fb
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index b04aa24..f3bfae0 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -266,16 +266,16 @@
#ifndef __AUDIT__
#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L
-char* gets(char*) __warnattr("gets is very unsafe; consider using fgets");
+char* gets(char*) __deprecated("gets is very unsafe; consider using fgets");
#endif
int sprintf(char* __restrict, const char* __restrict, ...)
- __printflike(2, 3) __warnattr("sprintf is often misused; please use snprintf");
-char* tmpnam(char*) __warnattr("tmpnam possibly used unsafely; consider using mkstemp");
+ __printflike(2, 3) __deprecated("sprintf is often misused; please use snprintf");
+char* tmpnam(char*) __deprecated("tmpnam possibly used unsafely; consider using mkstemp");
int vsprintf(char* __restrict, const char* __restrict, __va_list)
- __printflike(2, 0) __warnattr("vsprintf is often misused; please use vsnprintf");
+ __printflike(2, 0) __deprecated("vsprintf is often misused; please use vsnprintf");
#if __XPG_VISIBLE
char* tempnam(const char*, const char*)
- __warnattr("tempnam possibly used unsafely; consider using mkstemp");
+ __deprecated("tempnam possibly used unsafely; consider using mkstemp");
#endif
#endif
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index cbd7aeb..7f1710d 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -58,7 +58,7 @@
extern int clearenv(void);
extern char* mkdtemp(char*);
-extern char* mktemp(char*) __warnattr("mktemp possibly used unsafely; consider using mkstemp");
+extern char* mktemp(char*) __deprecated("mktemp possibly used unsafely; consider using mkstemp");
extern int mkostemp64(char*, int);
extern int mkostemp(char*, int);
diff --git a/libc/include/sys/cdefs.h b/libc/include/sys/cdefs.h
index 1d33895..17da393 100644
--- a/libc/include/sys/cdefs.h
+++ b/libc/include/sys/cdefs.h
@@ -334,12 +334,16 @@
#define __wur
#endif
+#if __GNUC_PREREQ(3, 2)
+#define __deprecated(msg) __attribute__ ((deprecated(msg)))
+#else
+#define __deprecated(msg)
+#endif
+
#if __GNUC_PREREQ(4, 3)
#define __errorattr(msg) __attribute__((__error__(msg)))
-#define __warnattr(msg) __attribute__((__warning__(msg)))
#else
#define __errorattr(msg)
-#define __warnattr(msg)
#endif
#define __errordecl(name, msg) extern void name(void) __errorattr(msg)