mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-24 12:02:36 +08:00
[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. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@345834 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
32
include/map
32
include/map
@@ -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");
|
||||
|
||||
40
include/set
40
include/set
@@ -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");
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user