summaryrefslogtreecommitdiffstats
path: root/libcxx/include
diff options
context:
space:
mode:
authorDimitry Andric <dimitry@andric.com>2019-09-07 22:18:20 +0000
committerDimitry Andric <dimitry@andric.com>2019-09-07 22:18:20 +0000
commit5bd4a4806aafc31c67a55c7d8b2993c879dc5bc2 (patch)
tree4bae0b78af0efa77295304718a56d559ca169d22 /libcxx/include
parent1829a09bea15d44053a1adc72e34fab367779c49 (diff)
downloadbcm5719-llvm-5bd4a4806aafc31c67a55c7d8b2993c879dc5bc2.tar.gz
bcm5719-llvm-5bd4a4806aafc31c67a55c7d8b2993c879dc5bc2.zip
Remove ::gets for FreeBSD 13 and later
Summary: In https://svnweb.freebsd.org/changeset/base/351659 @emaste removed gets() from FreeBSD 13's libc, and our copies of libc++ and libstdc++. In that change, the declarations were simply deleted, but I would like to propose this conditional test instead. Reviewers: EricWF, mclow.lists, emaste Reviewed By: mclow.lists Subscribers: krytarowski, christof, ldionne, emaste, libcxx-commits Differential Revision: https://reviews.llvm.org/D67316 llvm-svn: 371324
Diffstat (limited to 'libcxx/include')
-rw-r--r--libcxx/include/__config7
-rw-r--r--libcxx/include/cstdio2
2 files changed, 8 insertions, 1 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 03725e28840..f631faa0034 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -1152,6 +1152,13 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
#define _LIBCPP_HAS_NO_STDOUT
#endif
+// Some systems do not provide gets() in their C library, for security reasons.
+#ifndef _LIBCPP_C_HAS_NO_GETS
+# if defined(_LIBCPP_MSVCRT) || (defined(__FreeBSD__) && __FreeBSD__ >= 13)
+# define _LIBCPP_C_HAS_NO_GETS
+# endif
+#endif
+
#if defined(__BIONIC__) || defined(__CloudABI__) || \
defined(__Fuchsia__) || defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC)
#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
diff --git a/libcxx/include/cstdio b/libcxx/include/cstdio
index 67556938234..0f3f42dac2d 100644
--- a/libcxx/include/cstdio
+++ b/libcxx/include/cstdio
@@ -152,7 +152,7 @@ using ::tmpnam;
#ifndef _LIBCPP_HAS_NO_STDIN
using ::getchar;
-#if _LIBCPP_STD_VER <= 11 && !defined(_LIBCPP_MSVCRT)
+#if _LIBCPP_STD_VER <= 11 && !defined(_LIBCPP_C_HAS_NO_GETS)
using ::gets;
#endif
using ::scanf;
OpenPOWER on IntegriCloud