[libcxx] r283726 - [libcxx] Add the missing limits.h header
Asiri Rathnayake via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 10 01:38:52 PDT 2016
Author: asiri
Date: Mon Oct 10 03:38:51 2016
New Revision: 283726
URL: http://llvm.org/viewvc/llvm-project?rev=283726&view=rev
Log:
[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
Added:
libcxx/trunk/include/limits.h
Added: libcxx/trunk/include/limits.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/limits.h?rev=283726&view=auto
==============================================================================
--- libcxx/trunk/include/limits.h (added)
+++ libcxx/trunk/include/limits.h Mon Oct 10 03:38:51 2016
@@ -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
More information about the cfe-commits
mailing list