Displaying 9 results from an estimated 9 matches for "_unwind_setgr".
2009 May 19
5
[LLVMdev] Getting exceptions to work?
...n without crashing. However, what I don't
yet understand is how to get the result from the personality function
back to the landing pad. For example, I could use the function
_Unwind_SetIP to tell it where to jump to, except that I can't take the
address of a label in LLVM. I could call _Unwind_SetGR to set an index
and then have a switch in the landing pad that uses that index - except
that I would have no way to determine which register is safe to set in a
platform-independent way. I could even just have the personality
function do nothing at all, and have the landing pad do all the work...
2009 Sep 23
2
[LLVMdev] [llvm-commits] [PATCH] BlocksRuntime updates for Linux
...object
lib/CMakeFiles/CompilerRT-Common.dir/gcc_personality_v0.c.o
/export/home/edward/lab/llvm/build/compiler-rt/lib/gcc_personality_v0.c:232:36:
warning: implicit declaration of function
'__builtin_eh_return_data_regno' is invalid in C99
[-Wimplicit-function-declaration]
_Unwind_SetGR(context, __builtin_eh_return_data_regno(0),
^
1 diagnostic generated.
I committed a fix for the other warnings and a fix for each of the
#endif, I did not think they where very 'clear/readable' however they
are now.
Thanks for your work on the CMake syst...
2020 Aug 15
5
Supporting libunwind on Windows 10 (32bit; 64bit) for MSVC and Clang
...ind_Context *context, int index) {
^
C:/Users/clang/libunwind/include\unwind.h:221:18: note: previous
declaration is here
extern uintptr_t _Unwind_GetGR(struct _Unwind_Context *context, int index);
^
C:/Users/clang/libunwind/src/UnwindLevel1.c:485:24: warning: redeclaration
of '_Unwind_SetGR' should not add 'dllexport' attribute
[-Wdll-attribute-on-redeclaration]
_LIBUNWIND_EXPORT void _Unwind_SetGR(struct _Unwind_Context *context, int
index,
^
C:/Users/clang/libunwind/include\unwind.h:222:13: note: previous
declaration is here
extern void _Unwind_Set...
2009 May 18
0
[LLVMdev] Getting exceptions to work?
Hi Talin,
You're not using the llvm intrinsics for exception handling, so your
code won't work. Using _Unwind_RaiseException should be OK, but your
main function must at least use llvm.eh.exception,
llvm.eh.selector.i32/64 and probably __cxa_begin_catch and __cxa_end_catch.
Nicolas
Talin wrote:
> I've been struggling for several days, trying to get native exceptions
> to
2009 May 19
0
[LLVMdev] Getting exceptions to work?
...However, what I don't
> yet understand is how to get the result from the personality function
> back to the landing pad. For example, I could use the function
> _Unwind_SetIP to tell it where to jump to, except that I can't take the
> address of a label in LLVM. I could call _Unwind_SetGR to set an index
> and then have a switch in the landing pad that uses that index - except
> that I would have no way to determine which register is safe to set in a
> platform-independent way. I could even just have the personality
> function do nothing at all, and have the landing...
2009 Sep 23
0
[LLVMdev] [llvm-commits] [PATCH] BlocksRuntime updates for Linux
...RT-Common.dir/gcc_personality_v0.c.o
> /export/home/edward/lab/llvm/build/compiler-rt/lib/
> gcc_personality_v0.c:232:36:
> warning: implicit declaration of function
> '__builtin_eh_return_data_regno' is invalid in C99
> [-Wimplicit-function-declaration]
> _Unwind_SetGR(context, __builtin_eh_return_data_regno(0),
> ^
> 1 diagnostic generated.
>
> I committed a fix for the other warnings and a fix for each of the
> #endif, I did not think they where very 'clear/readable' however they
> are now.
>
> T...
2009 May 18
4
[LLVMdev] Getting exceptions to work?
I've been struggling for several days, trying to get native exceptions
to work in my code. I managed to boil down the IR to the simplest
possible example that I can think of.
If anyone on this list can tell me what changes I need to make to the
following code to get it to work (i.e. return 0 instead of a bus error),
it would make my life immensely better.
; ModuleID =
2009 Sep 23
0
[LLVMdev] [llvm-commits] [PATCH] BlocksRuntime updates for Linux
Seems pretty clear cut to me.
#if defined(HAVE_OSATOMIC_COMPARE_AND_SWAP_INT) && defined
(HAVE_OSATOMIC_COMPARE_AND_SWAP_LONG)
...
#elif defined(__WIN32__)
...
#elif defined(HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT) && defined
(HAVE_SYNC_BOOL_COMPARE_AND_SWAP_LONG)
...
#else
#error unknown atomic compare-and-swap primitive
#endif
The problem isn't mismatched #if/#endif. The
2009 Sep 23
2
[LLVMdev] [llvm-commits] [PATCH] BlocksRuntime updates for Linux
No, As it worked fine before.
I can't see the #if that goes with +#elif defined(__WIN32__) as you
removed -#if TARGET_OS_MAC.
Please go over your #if / #endif blocks and trail the #endif with a
comment. I am willing to bet there is a problem there.
Thanks for your time,
Edward.
2009/9/23 Shantonu Sen <ssen at apple.com>:
> Sounds like your system compiler doesn't support