Apply D28248: 'Work around GCC PR37804'. Thanks to mdaniels for the patch

llvm-svn: 351993
This commit is contained in:
Marshall Clow 2019-01-23 23:06:18 +00:00
parent e80799e6af
commit 28166dd9b3
3 changed files with 49 additions and 0 deletions

View File

@ -26,6 +26,13 @@ _LIBCPP_PUSH_MACROS
_LIBCPP_BEGIN_NAMESPACE_STD
#if defined(__GNUC__) && !defined(__clang__) // gcc.gnu.org/PR37804
template <class, class, class, class> class _LIBCPP_TEMPLATE_VIS map;
template <class, class, class, class> class _LIBCPP_TEMPLATE_VIS multimap;
template <class, class, class> class _LIBCPP_TEMPLATE_VIS set;
template <class, class, class> class _LIBCPP_TEMPLATE_VIS multiset;
#endif
template <class _Tp, class _Compare, class _Allocator> class __tree;
template <class _Tp, class _NodePtr, class _DiffType>
class _LIBCPP_TEMPLATE_VIS __tree_iterator;

View File

@ -0,0 +1,21 @@
//===----------------------------------------------------------------------===//
//
// 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.
//
//===----------------------------------------------------------------------===//
// Tests workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37804
#include <map>
std::map<int,int>::iterator it;
#include <set>
using std::set;
using std::multiset;
int main(void)
{
return 0;
}

View File

@ -0,0 +1,21 @@
//===----------------------------------------------------------------------===//
//
// 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.
//
//===----------------------------------------------------------------------===//
// Tests workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37804
#include <set>
std::set<int> s;
#include <map>
using std::map;
using std::multimap;
int main(void)
{
return 0;
}