FILENAME 3/4 - delete the old get_fun_path etc.
[hiphop-php.git] / hphp / util / unwind-itanium-msvc.h
blobe756ab142811dd17902ee2aed2bb8751a5d4d889
1 /*
2 +----------------------------------------------------------------------+
3 | HipHop for PHP |
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_
20 #include <cstdint>
22 #include <hphp/util/assertions.h>
24 namespace HPHP {
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) {
49 always_assert(false);
50 return 0;
52 inline uintptr_t _Unwind_GetIP(_Unwind_Context*) {
53 always_assert(false);
54 return 0;
56 inline void _Unwind_Resume() { always_assert(false); }
57 inline void _Unwind_SetIP(_Unwind_Context*, uint64_t) { always_assert(false); }
59 ///////////////////////////////////////////////////////////////////////////////
63 #endif