aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2015-02-17 12:39:39 -0800
committerYabin Cui <yabinc@google.com>2015-02-17 14:14:45 -0800
commit4645c4f62df49d1ece5aabb7c9fa44ca34d30272 (patch)
tree49f40a240870fdbd7f481215b82217c95a5b9536
parentfb48c68221afb1f9e7c63a15a20cca0857d1b9f9 (diff)
downloadandroid_bionic-4645c4f62df49d1ece5aabb7c9fa44ca34d30272.tar.gz
android_bionic-4645c4f62df49d1ece5aabb7c9fa44ca34d30272.tar.bz2
android_bionic-4645c4f62df49d1ece5aabb7c9fa44ca34d30272.zip
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
-rw-r--r--libc/include/stdio.h10
-rw-r--r--libc/include/stdlib.h2
-rw-r--r--libc/include/sys/cdefs.h8
3 files changed, 12 insertions, 8 deletions
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index b04aa24c2..f3bfae0d8 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -266,16 +266,16 @@ int vdprintf(int, const char * __restrict, __va_list) __printflike(2, 0);
#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 cbd7aeb98..7f1710d8b 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -58,7 +58,7 @@ extern int unsetenv(const char*);
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 1d33895e9..17da393b0 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)