Fix most failures caused by r300140
authorEric Fiselier <eric@efcs.ca>
Thu, 13 Apr 2017 00:34:24 +0000 (00:34 +0000)
committerEric Fiselier <eric@efcs.ca>
Thu, 13 Apr 2017 00:34:24 +0000 (00:34 +0000)
commite1ec29869b946bda518f91ffa6aaed664028c888
treef4a39e18c986cf9990acd3b78ba3593c3786ef5b
parent3233d3eb460b5d4e98e5049ec5f3dfe63b11d234
Fix most failures caused by r300140

r300140 introduced a bunch of failures by changing the internal
interface provided by __compressed_pair. This patch fixes all of
the failures caused by the new interface by changing the existing
code to use it.

In addition to those changes this patch also fixes two separate
issues causing test failures:

1) Fix the member swap definition for __map_value_compare. Previously
   the swap was incorrectly configured to swap the comparator as const.

2) Fix an assertion failure in futures.task.members/ctor_func_alloc.pass.cpp
that incorrectly expected a move to take place when a single copy is sufficient.

There is one remaining failure regarding make_shared. I'll commit a fix for that
shortly.

llvm-svn: 300148
libcxx/include/__split_buffer
libcxx/include/__tree
libcxx/include/map
libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp