comparison runtime/internal/eh.d @ 898:db3f8e7d79d2

Add headers for HP's libunwind, currently unused though.
author Christian Kamm <kamm incasoftware de>
date Thu, 22 Jan 2009 17:57:38 +0100
parents c6f16c3f377b
children 4a5eea0334e5
comparison
equal deleted inserted replaced
897:c6f16c3f377b 898:db3f8e7d79d2
18 } 18 }
19 version(X86_64) { 19 version(X86_64) {
20 version(linux) version=X86_UNWIND; 20 version(linux) version=X86_UNWIND;
21 version(solaris) version=X86_UNWIND; 21 version(solaris) version=X86_UNWIND;
22 } 22 }
23
24 //version = HP_LIBUNWIND;
23 25
24 private extern(C) void abort(); 26 private extern(C) void abort();
25 private extern(C) int printf(char*, ...); 27 private extern(C) int printf(char*, ...);
26 private extern(C) int vprintf(char*, va_list va); 28 private extern(C) int vprintf(char*, va_list va);
27 29
64 _Unwind_Exception_Cleanup_Fn exception_cleanup; 66 _Unwind_Exception_Cleanup_Fn exception_cleanup;
65 ptrdiff_t private_1; 67 ptrdiff_t private_1;
66 ptrdiff_t private_2; 68 ptrdiff_t private_2;
67 } 69 }
68 70
69 version(X86_UNWIND) 71 // interface to HP's libunwind from http://www.nongnu.org/libunwind/
72 version(HP_LIBUNWIND)
73 {
74 void __libunwind_Unwind_Resume(_Unwind_Exception *);
75 _Unwind_Reason_Code __libunwind_Unwind_RaiseException(_Unwind_Exception *);
76 ptrdiff_t __libunwind_Unwind_GetLanguageSpecificData(_Unwind_Context_Ptr
77 context);
78 ptrdiff_t __libunwind_Unwind_GetIP(_Unwind_Context_Ptr context);
79 ptrdiff_t __libunwind_Unwind_SetIP(_Unwind_Context_Ptr context,
80 ptrdiff_t new_value);
81 ptrdiff_t __libunwind_Unwind_SetGR(_Unwind_Context_Ptr context, int index,
82 ptrdiff_t new_value);
83 ptrdiff_t __libunwind_Unwind_GetRegionStart(_Unwind_Context_Ptr context);
84
85 alias __libunwind_Unwind_Resume _Unwind_Resume;
86 alias __libunwind_Unwind_RaiseException _Unwind_RaiseException;
87 alias __libunwind_Unwind_GetLanguageSpecificData
88 _Unwind_GetLanguageSpecificData;
89 alias __libunwind_Unwind_GetIP _Unwind_GetIP;
90 alias __libunwind_Unwind_SetIP _Unwind_SetIP;
91 alias __libunwind_Unwind_SetGR _Unwind_SetGR;
92 alias __libunwind_Unwind_GetRegionStart _Unwind_GetRegionStart;
93 }
94 else version(X86_UNWIND)
70 { 95 {
71 void _Unwind_Resume(_Unwind_Exception*); 96 void _Unwind_Resume(_Unwind_Exception*);
72 _Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Exception*); 97 _Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Exception*);
73 ptrdiff_t _Unwind_GetLanguageSpecificData(_Unwind_Context_Ptr context); 98 ptrdiff_t _Unwind_GetLanguageSpecificData(_Unwind_Context_Ptr context);
74 ptrdiff_t _Unwind_GetIP(_Unwind_Context_Ptr context); 99 ptrdiff_t _Unwind_GetIP(_Unwind_Context_Ptr context);