1//===---------------------- catch_array_02.cpp ----------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// Can you have a catch clause of array type that catches anything?
11// UNSUPPORTED: libcxxabi-no-exceptions
12
13#include <cassert>
14
15int main()
16{
17    typedef char Array[4];
18    Array a = {'H', 'i', '!', 0};
19    try
20    {
21        throw a;  // converts to char*
22        assert(false);
23    }
24    catch (Array b)  // equivalent to char*
25    {
26    }
27    catch (...)
28    {
29        assert(false);
30    }
31}
32