2 +----------------------------------------------------------------------+
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2010-present Facebook, Inc. (http://www.facebook.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
17 #ifndef HPHP_UTIL_UNWIND_ITANIUM_MSVC_H_
18 #define HPHP_UTIL_UNWIND_ITANIUM_MSVC_H_
22 #include <hphp/util/assertions.h>
26 ///////////////////////////////////////////////////////////////////////////////
29 * MSVC doesn't support the Itanium exception handling ABI, so we have some
30 * garbage stubs to convince MSVC to compile without freaking out.
32 struct _Unwind_Exception
{
33 uint64_t exception_class
;
36 #define _URC_CONTINUE_UNWIND 0
37 #define _URC_INSTALL_CONTEXT 0
38 #define _URC_HANDLER_FOUND 0
39 using _Unwind_Reason_Code
= int;
41 #define _UA_HANDLER_FRAME 0
42 #define _UA_CLEANUP_PHASE 0
43 #define _UA_SEARCH_PHASE 0
44 using _Unwind_Action
= int;
46 using _Unwind_Context
= void;
48 inline uintptr_t _Unwind_GetGR(_Unwind_Context
*, int) {
52 inline uintptr_t _Unwind_GetIP(_Unwind_Context
*) {
56 inline void _Unwind_Resume() { always_assert(false); }
57 inline void _Unwind_SetIP(_Unwind_Context
*, uint64_t) { always_assert(false); }
59 ///////////////////////////////////////////////////////////////////////////////