34 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// Can you have a catch clause of array type that catches anything?10// UNSUPPORTED: no-exceptions11 12#include <cassert>13 14void f() {}15 16int main(int, char**)17{18 typedef void Function();19 try20 {21 throw f; // converts to void (*)()22 assert(false);23 }24 catch (Function b) // equivalent to void (*)()25 {26 }27 catch (...)28 {29 assert(false);30 }31 32 return 0;33}34