Mercurial > projects > ldc
diff runtime/internal/eh.d @ 794:661384d6a936
Fix warnings on x86-64. By fvbommel.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 28 Nov 2008 21:24:08 +0100 |
parents | 4ac97ec7c18e |
children | aa953cc960b6 |
line wrap: on
line diff
--- a/runtime/internal/eh.d Thu Nov 27 18:31:09 2008 +0100 +++ b/runtime/internal/eh.d Fri Nov 28 21:24:08 2008 +0100 @@ -280,7 +280,7 @@ // get classinfo for action and check if the one in the // exception structure is a base - ClassInfo catch_ci = classinfo_table[-ti_offset]; + ClassInfo catch_ci = *(classinfo_table - ti_offset); debug(EH_personality) printf("Comparing catch %s to exception %s\n", catch_ci.name.ptr, exception_struct.exception_object.classinfo.name.ptr); if(_d_isbaseof(exception_struct.exception_object.classinfo, catch_ci)) return _d_eh_install_catch_context(actions, ti_offset, landing_pad, exception_struct, context); @@ -320,7 +320,7 @@ { debug(EH_personality) printf("Setting switch value to: %d!\n", switchval); _Unwind_SetGR(context, eh_exception_regno, cast(ulong)cast(void*)(exception_struct.exception_object)); - _Unwind_SetGR(context, eh_selector_regno, switchval); + _Unwind_SetGR(context, eh_selector_regno, cast(ulong)switchval); _Unwind_SetIP(context, landing_pad); return _Unwind_Reason_Code.INSTALL_CONTEXT; }