gcc/libstdc++-v3/testsuite/18_support/unexpected_handler.cc
Jonathan Wakely 95768878c7 testsuite: Disable tests for C++23 that depend on std::unexpected
These tests depend on unexpected handlers, which are no longer declared
for C++23 mode. Adjust the target specifier so they don't run.

gcc/testsuite/ChangeLog:

	* g++.dg/cpp0x/noexcept06.C: Disable for C++23.

libstdc++-v3/ChangeLog:

	* testsuite/18_support/exception/38732.cc: Disable for C++23.
	* testsuite/18_support/headers/exception/synopsis.cc: Likewise.
	* testsuite/18_support/unexpected_handler.cc: Likewise.
2022-03-29 20:30:43 +01:00

42 lines
1.2 KiB
C++

// Copyright (C) 2013-2022 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
// { dg-options "-Wno-deprecated-declarations" }
// { dg-do run { target { c++11 && { ! c++23 } } } }
// D.11 Violating exception-specifications
#include <exception>
#include <cstdlib>
#include <testsuite_hooks.h>
void handler() { std::abort(); }
void test01()
{
auto prev = std::set_unexpected(handler);
VERIFY( prev != handler );
auto curr = std::get_unexpected();
VERIFY( curr == handler );
}
int main()
{
test01();
return 0;
}