[cfe-commits] [libcxx] r145407 - in /libcxx/trunk/include: __bit_reference __hash_table __split_buffer __std_stream __undef_min_max algorithm bitset chrono deque forward_list fstream istream limits list locale memory mutex random ratio regex sstream string valarray vector

Howard Hinnant hhinnant at apple.com
Tue Nov 29 08:45:27 PST 2011


Author: hhinnant
Date: Tue Nov 29 10:45:27 2011
New Revision: 145407

URL: http://llvm.org/viewvc/llvm-project?rev=145407&view=rev
Log:
Add protection from min/max macros

Added:
    libcxx/trunk/include/__undef_min_max
Modified:
    libcxx/trunk/include/__bit_reference
    libcxx/trunk/include/__hash_table
    libcxx/trunk/include/__split_buffer
    libcxx/trunk/include/__std_stream
    libcxx/trunk/include/algorithm
    libcxx/trunk/include/bitset
    libcxx/trunk/include/chrono
    libcxx/trunk/include/deque
    libcxx/trunk/include/forward_list
    libcxx/trunk/include/fstream
    libcxx/trunk/include/istream
    libcxx/trunk/include/limits
    libcxx/trunk/include/list
    libcxx/trunk/include/locale
    libcxx/trunk/include/memory
    libcxx/trunk/include/mutex
    libcxx/trunk/include/random
    libcxx/trunk/include/ratio
    libcxx/trunk/include/regex
    libcxx/trunk/include/sstream
    libcxx/trunk/include/string
    libcxx/trunk/include/valarray
    libcxx/trunk/include/vector

Modified: libcxx/trunk/include/__bit_reference
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__bit_reference?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/__bit_reference (original)
+++ libcxx/trunk/include/__bit_reference Tue Nov 29 10:45:27 2011
@@ -14,6 +14,8 @@
 #include <__config>
 #include <algorithm>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/__hash_table
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__hash_table?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/__hash_table (original)
+++ libcxx/trunk/include/__hash_table Tue Nov 29 10:45:27 2011
@@ -18,6 +18,8 @@
 #include <algorithm>
 #include <cmath>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/__split_buffer
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__split_buffer?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/__split_buffer (original)
+++ libcxx/trunk/include/__split_buffer Tue Nov 29 10:45:27 2011
@@ -6,6 +6,8 @@
 #include <type_traits>
 #include <algorithm>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/__std_stream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__std_stream?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/__std_stream (original)
+++ libcxx/trunk/include/__std_stream Tue Nov 29 10:45:27 2011
@@ -17,6 +17,8 @@
 #include <__locale>
 #include <cstdio>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Added: libcxx/trunk/include/__undef_min_max
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__undef_min_max?rev=145407&view=auto
==============================================================================
--- libcxx/trunk/include/__undef_min_max (added)
+++ libcxx/trunk/include/__undef_min_max Tue Nov 29 10:45:27 2011
@@ -0,0 +1,19 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+#ifdef min
+#warning: macro min is incompatible with C++.  #undef'ing min
+#undef min
+#endif
+
+#ifdef max
+#warning: macro max is incompatible with C++.  #undef'ing max
+#undef max
+#endif

Modified: libcxx/trunk/include/algorithm
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/algorithm?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/algorithm (original)
+++ libcxx/trunk/include/algorithm Tue Nov 29 10:45:27 2011
@@ -595,6 +595,8 @@
 #include <iterator>
 #include <cstdlib>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/bitset
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/bitset?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/bitset (original)
+++ libcxx/trunk/include/bitset Tue Nov 29 10:45:27 2011
@@ -129,6 +129,8 @@
     #include <cassert>
 #endif
 
+#include <__undef_min_max>
+
 _LIBCPP_BEGIN_NAMESPACE_STD
 
 template <size_t _N_words, size_t _Size>

Modified: libcxx/trunk/include/chrono
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/chrono?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/chrono (original)
+++ libcxx/trunk/include/chrono Tue Nov 29 10:45:27 2011
@@ -255,6 +255,8 @@
 #include <ratio>
 #include <limits>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/deque
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/deque?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/deque (original)
+++ libcxx/trunk/include/deque Tue Nov 29 10:45:27 2011
@@ -162,6 +162,8 @@
 #include <algorithm>
 #include <stdexcept>
 
+#include <__undef_min_max>
+
 _LIBCPP_BEGIN_NAMESPACE_STD
 
 template <class _Tp, class _Allocator> class __deque_base;

Modified: libcxx/trunk/include/forward_list
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/forward_list?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/forward_list (original)
+++ libcxx/trunk/include/forward_list Tue Nov 29 10:45:27 2011
@@ -174,6 +174,8 @@
 #include <iterator>
 #include <algorithm>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/fstream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/fstream?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/fstream (original)
+++ libcxx/trunk/include/fstream Tue Nov 29 10:45:27 2011
@@ -171,6 +171,8 @@
 #include <__locale>
 #include <cstdio>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/istream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/istream?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/istream (original)
+++ libcxx/trunk/include/istream Tue Nov 29 10:45:27 2011
@@ -155,6 +155,8 @@
 #include <__config>
 #include <ostream>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/limits
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/limits?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/limits (original)
+++ libcxx/trunk/include/limits Tue Nov 29 10:45:27 2011
@@ -109,6 +109,8 @@
 #include <__config>
 #include <type_traits>
 
+#include <__undef_min_max>
+
 #if defined(_MSC_VER)
 #include "support/win32/limits_win32.h"
 #endif // _MSC_VER

Modified: libcxx/trunk/include/list
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/list?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/list (original)
+++ libcxx/trunk/include/list Tue Nov 29 10:45:27 2011
@@ -176,6 +176,8 @@
 #include <iterator>
 #include <algorithm>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/locale
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/locale?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/locale (original)
+++ libcxx/trunk/include/locale Tue Nov 29 10:45:27 2011
@@ -192,6 +192,8 @@
 #include <nl_types.h>
 #endif  // !_WIN32
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/memory
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/memory (original)
+++ libcxx/trunk/include/memory Tue Nov 29 10:45:27 2011
@@ -600,6 +600,8 @@
     #include <cassert>
 #endif
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/mutex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/mutex?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/mutex (original)
+++ libcxx/trunk/include/mutex Tue Nov 29 10:45:27 2011
@@ -179,6 +179,8 @@
 #include <tuple>
 #endif
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/random
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/random?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/random (original)
+++ libcxx/trunk/include/random Tue Nov 29 10:45:27 2011
@@ -1646,6 +1646,8 @@
 #include <ostream>
 #include <cmath>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/ratio
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ratio?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/ratio (original)
+++ libcxx/trunk/include/ratio Tue Nov 29 10:45:27 2011
@@ -70,6 +70,8 @@
 #include <climits>
 #include <type_traits>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/regex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/regex?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/regex (original)
+++ libcxx/trunk/include/regex Tue Nov 29 10:45:27 2011
@@ -732,6 +732,8 @@
 #include <vector>
 #include <deque>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/sstream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/sstream?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/sstream (original)
+++ libcxx/trunk/include/sstream Tue Nov 29 10:45:27 2011
@@ -175,6 +175,8 @@
 #include <istream>
 #include <string>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/string
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/string?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/string (original)
+++ libcxx/trunk/include/string Tue Nov 29 10:45:27 2011
@@ -446,6 +446,8 @@
 #include <cassert>
 #endif
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/valarray
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/valarray?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/valarray (original)
+++ libcxx/trunk/include/valarray Tue Nov 29 10:45:27 2011
@@ -346,6 +346,8 @@
 #include <algorithm>
 #include <functional>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif

Modified: libcxx/trunk/include/vector
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/vector?rev=145407&r1=145406&r2=145407&view=diff
==============================================================================
--- libcxx/trunk/include/vector (original)
+++ libcxx/trunk/include/vector Tue Nov 29 10:45:27 2011
@@ -270,6 +270,8 @@
 #include <__split_buffer>
 #include <__functional_base>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif





More information about the cfe-commits mailing list