Modify ctype.h headers to test for non-GNU inline semantics correctly

GCC and Clang will not define __GNUC_STDC_INLINE__ when compiling C++, so this
macro currently implies regular C++ inline semantics in C++. This may cause
the compiler to emit an external definition of the function, which will cause
link errors when compiling with -fvisibility=hidden; see e.g. crbug.com/481902.

To fix this, also test the __cplusplus macro when deciding whether to assume
non-GNU inline semantics.

Change-Id: Icbd1f42279c2f65610e62f21d4a0a09d3b0e091c
diff --git a/ndk/platforms/android-3/include/ctype.h b/ndk/platforms/android-3/include/ctype.h
index 58b76ea..711e646 100644
--- a/ndk/platforms/android-3/include/ctype.h
+++ b/ndk/platforms/android-3/include/ctype.h
@@ -59,7 +59,7 @@
 
 /* extern __inline is a GNU C extension */
 #ifdef __GNUC__
-#  if defined(__GNUC_STDC_INLINE__)
+#  if defined(__GNUC_STDC_INLINE__) || defined(__cplusplus) || defined(__cplusplus)
 #define	__CTYPE_INLINE	extern __inline __attribute__((__gnu_inline__))
 #  else
 #define	__CTYPE_INLINE	extern __inline