From 847f38316899c1ce01353ecefd2a1bc71a12be5e Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Thu, 5 Oct 2023 21:13:33 +0000 Subject: [PATCH] Backport https://reviews.llvm.org/D69983. I want to clean up 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 --- include/support/android/locale_bionic.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/support/android/locale_bionic.h b/include/support/android/locale_bionic.h index ee209ecb5..1f9c9b040 100644 --- a/include/support/android/locale_bionic.h +++ b/include/support/android/locale_bionic.h @@ -26,14 +26,15 @@ extern "C" { #if defined(__ANDROID__) +#include +#if __ANDROID_API__ < 21 #include +#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() - -#include #include // In NDK versions later than 16, locale-aware functions are provided by // legacy_stdlib_inlines.h