
Summary: In r342843, I added deprecation warnings to some facilities that were deprectated in C++14 and C++17. However, those deprecation warnings were not enabled by default. After discussing this on IRC, we had finally gotten consensus to enable those warnings by default, and I'm getting around to doing that only now. Reviewers: mclow.lists, EricWF Subscribers: christof, jkorous, dexonsmith, jdoerfert, libcxx-commits Differential Revision: https://reviews.llvm.org/D58140 llvm-svn: 355961
33 lines
971 B
C++
33 lines
971 B
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// <functional>
|
|
|
|
// binary_negate
|
|
|
|
#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
|
|
|
|
#include <functional>
|
|
#include <type_traits>
|
|
#include <cassert>
|
|
|
|
int main(int, char**)
|
|
{
|
|
typedef std::binary_negate<std::logical_and<int> > F;
|
|
const F f = F(std::logical_and<int>());
|
|
static_assert((std::is_same<int, F::first_argument_type>::value), "" );
|
|
static_assert((std::is_same<int, F::second_argument_type>::value), "" );
|
|
static_assert((std::is_same<bool, F::result_type>::value), "" );
|
|
assert(!f(36, 36));
|
|
assert( f(36, 0));
|
|
assert( f(0, 36));
|
|
assert( f(0, 0));
|
|
|
|
return 0;
|
|
}
|