[libcxx] r345834 - [libcxx] Fix usage of _C2, which is a "nasty macro" in some environments
Louis Dionne
ldionne at apple.com
Thu Nov 1 07:41:38 PDT 2018
Author: ldionne
Date: Thu Nov 1 07:41:37 2018
New Revision: 345834
URL: http://llvm.org/viewvc/llvm-project?rev=345834&view=rev
Log:
[libcxx] Fix usage of _C2, which is a "nasty macro" in some environments
The problem was pointed out in https://reviews.llvm.org/D48896#inline-475775.
Modified:
libcxx/trunk/include/map
libcxx/trunk/include/set
libcxx/trunk/test/support/nasty_macros.hpp
Modified: libcxx/trunk/include/map
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/map?rev=345834&r1=345833&r2=345834&view=diff
==============================================================================
--- libcxx/trunk/include/map (original)
+++ libcxx/trunk/include/map Thu Nov 1 07:41:37 2018
@@ -1323,33 +1323,33 @@ public:
{
return __tree_.template __node_handle_extract<node_type>(__it.__i_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(map<key_type, mapped_type, _C2, allocator_type>& __source)
+ void merge(map<key_type, mapped_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(map<key_type, mapped_type, _C2, allocator_type>&& __source)
+ void merge(map<key_type, mapped_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multimap<key_type, mapped_type, _C2, allocator_type>& __source)
+ void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multimap<key_type, mapped_type, _C2, allocator_type>&& __source)
+ void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
@@ -1942,33 +1942,33 @@ public:
return __tree_.template __node_handle_extract<node_type>(
__it.__i_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multimap<key_type, mapped_type, _C2, allocator_type>& __source)
+ void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
return __tree_.__node_handle_merge_multi(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multimap<key_type, mapped_type, _C2, allocator_type>&& __source)
+ void merge(multimap<key_type, mapped_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
return __tree_.__node_handle_merge_multi(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(map<key_type, mapped_type, _C2, allocator_type>& __source)
+ void merge(map<key_type, mapped_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
return __tree_.__node_handle_merge_multi(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(map<key_type, mapped_type, _C2, allocator_type>&& __source)
+ void merge(map<key_type, mapped_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
Modified: libcxx/trunk/include/set
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/set?rev=345834&r1=345833&r2=345834&view=diff
==============================================================================
--- libcxx/trunk/include/set (original)
+++ libcxx/trunk/include/set Thu Nov 1 07:41:37 2018
@@ -513,7 +513,7 @@ public:
#if _LIBCPP_STD_VER > 11
template <class _InputIterator>
- _LIBCPP_INLINE_VISIBILITY
+ _LIBCPP_INLINE_VISIBILITY
set(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
: set(__f, __l, key_compare(), __a) {}
#endif
@@ -569,7 +569,7 @@ public:
}
#if _LIBCPP_STD_VER > 11
- _LIBCPP_INLINE_VISIBILITY
+ _LIBCPP_INLINE_VISIBILITY
set(initializer_list<value_type> __il, const allocator_type& __a)
: set(__il, key_compare(), __a) {}
#endif
@@ -707,33 +707,33 @@ public:
{
return __tree_.template __node_handle_extract<node_type>(__it);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(set<key_type, _C2, allocator_type>& __source)
+ void merge(set<key_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(set<key_type, _C2, allocator_type>&& __source)
+ void merge(set<key_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multiset<key_type, _C2, allocator_type>& __source)
+ void merge(multiset<key_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multiset<key_type, _C2, allocator_type>&& __source)
+ void merge(multiset<key_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
@@ -984,7 +984,7 @@ public:
#if _LIBCPP_STD_VER > 11
template <class _InputIterator>
- _LIBCPP_INLINE_VISIBILITY
+ _LIBCPP_INLINE_VISIBILITY
multiset(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
: multiset(__f, __l, key_compare(), __a) {}
#endif
@@ -1048,7 +1048,7 @@ public:
}
#if _LIBCPP_STD_VER > 11
- _LIBCPP_INLINE_VISIBILITY
+ _LIBCPP_INLINE_VISIBILITY
multiset(initializer_list<value_type> __il, const allocator_type& __a)
: multiset(__il, key_compare(), __a) {}
#endif
@@ -1185,33 +1185,33 @@ public:
{
return __tree_.template __node_handle_extract<node_type>(__it);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multiset<key_type, _C2, allocator_type>& __source)
+ void merge(multiset<key_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_multi(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(multiset<key_type, _C2, allocator_type>&& __source)
+ void merge(multiset<key_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_multi(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(set<key_type, _C2, allocator_type>& __source)
+ void merge(set<key_type, _Compare2, allocator_type>& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
__tree_.__node_handle_merge_multi(__source.__tree_);
}
- template <class _C2>
+ template <class _Compare2>
_LIBCPP_INLINE_VISIBILITY
- void merge(set<key_type, _C2, allocator_type>&& __source)
+ void merge(set<key_type, _Compare2, allocator_type>&& __source)
{
_LIBCPP_ASSERT(__source.get_allocator() == get_allocator(),
"merging container with incompatible allocator");
Modified: libcxx/trunk/test/support/nasty_macros.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/nasty_macros.hpp?rev=345834&r1=345833&r2=345834&view=diff
==============================================================================
--- libcxx/trunk/test/support/nasty_macros.hpp (original)
+++ libcxx/trunk/test/support/nasty_macros.hpp Thu Nov 1 07:41:37 2018
@@ -49,6 +49,9 @@
#define _CRPC NASTY_MACRO
#define _CPC NASTY_MACRO
+// yvals.h on MINGW defines this macro
+#define _C2 NASTY_MACRO
+
// Test that libc++ doesn't use names reserved by WIN32 API Macros.
// NOTE: Obviously we can only define these on non-windows platforms.
#ifndef _WIN32
More information about the libcxx-commits
mailing list