brintos

brintos / llvm-project-archived public Read only

0
0
Text · 843 B · d0c5d13 Raw
37 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: no-exceptions10 11// We're testing the diagnosed behaviour here.12// ADDITIONAL_COMPILE_FLAGS: -Wno-exceptions13 14#include <cassert>15#include <cstdlib>16#include <exception>17 18#include "test_macros.h"19 20void func() TEST_NOEXCEPT {21  try {22    throw 1;23  } catch (float) {24  }25}26 27void terminate_handler() {28  assert(std::current_exception() != nullptr);29  std::exit(0);30}31 32int main(int, char**) {33  std::set_terminate(terminate_handler);34  func();35  assert(false);36}37