Backport https://reviews.llvm.org/D69983.
I want to clean up <ctype.h> now that API levels before 21 are no longer
supported, but -- although upstream libc++ is fine -- our old libc++
unconditionally defines inlines for these functions, which collide with
my attempt to do the same in bionic.
Rather than keep waiting for the new libc++, backport this trivial fix.
Test: treehugger
Change-Id: I579a16ee3c4877d5033a0e4166f49d76af3a093b
diff --git a/include/support/android/locale_bionic.h b/include/support/android/locale_bionic.h
index ee209ec..1f9c9b0 100644
--- a/include/support/android/locale_bionic.h
+++ b/include/support/android/locale_bionic.h
@@ -26,14 +26,15 @@
#if defined(__ANDROID__)
+#include <android/api-level.h>
+#if __ANDROID_API__ < 21
#include <support/xlocale/__posix_l_fallback.h>
+#endif
// If we do not have this header, we are in a platform build rather than an NDK
// build, which will always be at least as new as the ToT NDK, in which case we
// don't need any of the inlines below since libc provides them.
#if __has_include(<android/ndk-version.h>)
-
-#include <android/api-level.h>
#include <android/ndk-version.h>
// In NDK versions later than 16, locale-aware functions are provided by
// legacy_stdlib_inlines.h