//===----------------------------------------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11 // XFAIL: gcc-7 // // equal_to, not_equal_to, less, et al. // Test that these types can be constructed w/o an initializer in a constexpr // context. This is specifically testing gcc.gnu.org/PR83921 #include #include "test_macros.h" template constexpr bool test_constexpr_context() { std::equal_to eq; ((void)eq); std::not_equal_to neq; ((void)neq); std::less l; ((void)l); std::less_equal le; ((void)le); std::greater g; ((void)g); std::greater_equal ge; ((void)ge); return true; } static_assert(test_constexpr_context(), ""); static_assert(test_constexpr_context(), ""); int main(int, char**) { return 0; }