[PATCH] D25361: [libcxx] Add the missing limits.h header
Asiri Rathnayake via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 7 03:16:29 PDT 2016
rmaprath created this revision.
rmaprath added reviewers: EricWF, mclow.lists, rsmith.
rmaprath added a subscriber: cfe-commits.
The implementation of [depr.c.headers] in https://reviews.llvm.org/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.
https://reviews.llvm.org/D25361
Files:
include/limits.h
Index: include/limits.h
===================================================================
--- /dev/null
+++ 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25361.73902.patch
Type: text/x-patch
Size: 1097 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161007/a73d4ee7/attachment.bin>
More information about the cfe-commits
mailing list