summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAsiri Rathnayake <asiri.rathnayake@arm.com>2016-10-10 08:38:51 +0000
committerAsiri Rathnayake <asiri.rathnayake@arm.com>2016-10-10 08:38:51 +0000
commit30cd7341d07a94b78864355c64103d41bdbde910 (patch)
treea44e7c893fc378d41b958e667165263b581e60fe
parented0cca244dc2c590246dc7848aafedf33f33b6e1 (diff)
downloadbcm5719-llvm-30cd7341d07a94b78864355c64103d41bdbde910.tar.gz
bcm5719-llvm-30cd7341d07a94b78864355c64103d41bdbde910.zip
[libcxx] Add the missing limits.h header
The implementation of [depr.c.headers] in D12747 introduced the necessary C headers into libc++. This patch adds one more missing headers: limits.h We spotted this due to a failing C++03 test [limits_h.pass.cpp] in our libc++ configuration; when the limits.h header is included from a C++ program, it now bypassed the __config header and went directly into the underlying C library's limits.h header, which is problematic for us because we use __config header to configure the underlying C library's behaviour when used from a C++ context. Reviewers: mclow.lists, rsmith Differential revision: https://reviews.llvm.org/D25361 llvm-svn: 283726
-rw-r--r--libcxx/include/limits.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/libcxx/include/limits.h b/libcxx/include/limits.h
new file mode 100644
index 00000000000..b69459a5117
--- /dev/null
+++ b/libcxx/include/limits.h
@@ -0,0 +1,49 @@
+// -*- C++ -*-
+//===--------------------------- limits.h ---------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP_LIMITS_H
+#define _LIBCPP_LIMITS_H
+
+/*
+ limits.h synopsis
+
+Macros:
+
+ CHAR_BIT
+ SCHAR_MIN
+ SCHAR_MAX
+ UCHAR_MAX
+ CHAR_MIN
+ CHAR_MAX
+ MB_LEN_MAX
+ SHRT_MIN
+ SHRT_MAX
+ USHRT_MAX
+ INT_MIN
+ INT_MAX
+ UINT_MAX
+ LONG_MIN
+ LONG_MAX
+ ULONG_MAX
+ LLONG_MIN // C99
+ LLONG_MAX // C99
+ ULLONG_MAX // C99
+
+*/
+
+#include <__config>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+#pragma GCC system_header
+#endif
+
+#include_next <limits.h>
+
+#endif // _LIBCPP_LIMITS_H
OpenPOWER on IntegriCloud