Add __INTRODUCED_IN_{32,64}.

Some symbols appeared at different times between 32 and 64 bit. Add a
macro to represent this.

Bug: http://b/28178111
Change-Id: I0aa46d9da3c7301b60df0416bce252f0f37b7b36
diff --git a/libc/include/sys/cdefs.h b/libc/include/sys/cdefs.h
index 2bd058e..24b341e 100644
--- a/libc/include/sys/cdefs.h
+++ b/libc/include/sys/cdefs.h
@@ -451,15 +451,21 @@
 
 #ifdef __clang__
 #define __AVAILABILITY(...) __attribute__((availability(android,__VA_ARGS__)))
+#else
+#define __AVAILABILITY(...)
+#endif // __clang__
+
 #define __INTRODUCED_IN(api_level) __AVAILABILITY(introduced=api_level)
 #define __DEPRECATED_IN(api_level) __AVAILABILITY(deprecated=api_level)
 #define __REMOVED_IN(api_level) __AVAILABILITY(obsoleted=api_level)
+
+#if __LP64__
+#define __INTRODUCED_IN_32(api_level)
+#define __INTRODUCED_IN_64 __INTRODUCED_IN
 #else
-#define __AVAILABILITY(...)
-#define __INTRODUCED_IN(api_level)
-#define __DEPRECATED_IN(api_level)
-#define __REMOVED_IN(api_level)
-#endif // __clang__
+#define __INTRODUCED_IN_32 __INTRODUCED_IN
+#define __INTRODUCED_IN_64(api_level)
+#endif
 
 #if __has_builtin(__builtin_umul_overflow) || __GNUC__ >= 5
 #if __LP64__
diff --git a/tests/complex_test.cpp b/tests/complex_test.cpp
index 8ddd28b..746c0be 100644
--- a/tests/complex_test.cpp
+++ b/tests/complex_test.cpp
@@ -21,6 +21,8 @@
 #include <sys/cdefs.h>
 #if !defined(__INTRODUCED_IN)
 #define __INTRODUCED_IN(x)
+#define __INTRODUCED_IN_32(x)
+#define __INTRODUCED_IN_64(x)
 #endif
 
 // libc++ actively gets in the way of including <complex.h> from C++, so we