[libcxx-commits] [PATCH] D76093: Don't expose unavailable cstdio functions.

Dan Albert via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Mar 12 17:23:25 PDT 2020


danalbert updated this revision to Diff 250101.
danalbert marked an inline comment as done.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76093/new/

https://reviews.llvm.org/D76093

Files:
  libcxx/include/__config
  libcxx/include/cstdio


Index: libcxx/include/cstdio
===================================================================
--- libcxx/include/cstdio
+++ libcxx/include/cstdio
@@ -131,9 +131,13 @@
 using ::ungetc;
 using ::fread;
 using ::fwrite;
+#ifndef _LIBCPP_HAS_NO_FGETPOS
 using ::fgetpos;
+#endif
 using ::fseek;
+#ifndef _LIBCPP_HAS_NO_FSETPOS
 using ::fsetpos;
+#endif
 using ::ftell;
 using ::rewind;
 using ::clearerr;
Index: libcxx/include/__config
===================================================================
--- libcxx/include/__config
+++ libcxx/include/__config
@@ -1544,6 +1544,14 @@
 #define _LIBCPP_BUILTIN_CONSTANT_P(x) false
 #endif
 
+// Support for _FILE_OFFSET_BITS=64 landed gradually in Android, so the full set
+// of functions used in cstdio may not be available for low API levels when
+// using 64-bit file offsets on LP32.
+#if defined(__BIONIC__) && defined(__USE_FILE_OFFSET64) && __ANDROID_API__ < 24
+#define _LIBCPP_HAS_NO_FGETPOS
+#define _LIBCPP_HAS_NO_FSETPOS
+#endif
+
 #endif // __cplusplus
 
 #endif // _LIBCPP_CONFIG


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76093.250101.patch
Type: text/x-patch
Size: 1041 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200313/41b88020/attachment.bin>


More information about the libcxx-commits mailing list