156aaed38SDimitry Andric /* 256aaed38SDimitry Andric * Copyright 2021 Microsoft. All rights reserved. 356aaed38SDimitry Andric * 456aaed38SDimitry Andric * Redistribution and use in source and binary forms, with or without 556aaed38SDimitry Andric * modification, are permitted provided that the following conditions are met: 656aaed38SDimitry Andric * 756aaed38SDimitry Andric * 1. Redistributions of source code must retain the above copyright notice, 856aaed38SDimitry Andric * this list of conditions and the following disclaimer. 956aaed38SDimitry Andric * 1056aaed38SDimitry Andric * 2. Redistributions in binary form must reproduce the above copyright notice, 1156aaed38SDimitry Andric * this list of conditions and the following disclaimer in the documentation 1256aaed38SDimitry Andric * and/or other materials provided with the distribution. 1356aaed38SDimitry Andric * 1456aaed38SDimitry Andric * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS 1556aaed38SDimitry Andric * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 1656aaed38SDimitry Andric * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 1756aaed38SDimitry Andric * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 1856aaed38SDimitry Andric * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 1956aaed38SDimitry Andric * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 2056aaed38SDimitry Andric * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 2156aaed38SDimitry Andric * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 2256aaed38SDimitry Andric * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 2356aaed38SDimitry Andric * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 2456aaed38SDimitry Andric * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2556aaed38SDimitry Andric */ 2656aaed38SDimitry Andric 2756aaed38SDimitry Andric namespace std 2856aaed38SDimitry Andric { 2956aaed38SDimitry Andric /** 3056aaed38SDimitry Andric * Returns whether there are any exceptions currently being thrown that 3156aaed38SDimitry Andric * have not been caught. Without exception support this is always false. 3256aaed38SDimitry Andric */ uncaught_exception()33*13da1af1SEd Maste bool uncaught_exception() _LIBCXXRT_NOEXCEPT 3456aaed38SDimitry Andric { 3556aaed38SDimitry Andric return false; 3656aaed38SDimitry Andric } 3756aaed38SDimitry Andric /** 3856aaed38SDimitry Andric * Returns the number of exceptions currently being thrown that have not 3956aaed38SDimitry Andric * been caught. Without exception support this is always 0. 4056aaed38SDimitry Andric */ uncaught_exceptions()41*13da1af1SEd Maste int uncaught_exceptions() _LIBCXXRT_NOEXCEPT 4256aaed38SDimitry Andric { 4356aaed38SDimitry Andric return 0; 4456aaed38SDimitry Andric } 4556aaed38SDimitry Andric } 46