xref: /freebsd/contrib/libcxxrt/noexception.cc (revision 13da1af1cd677b7901d3bf4b9dbe3290b94130d5)
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