search for: dtorn

Displaying 3 results from an estimated 3 matches for "dtorn".

Did you mean: doorn
2012 Apr 08
0
[LLVMdev] Catching C++ exceptions, cleaning up, rethrowing
...erator_M_new(void* %8, void* %0) > to label %normal4 unwind label %unwind5 > > ; ... I generate the "exit", "return", and "unwind_resume" blocks first followed by a sequence of "normal", "unwind", and "dtor" blocks. A dtorN block calls dtorN-1 unless N=0 in which case it calls exit instead. Now I think my last part of the puzzle is the personality function. Running on a *nix system (Mac OS X), my code has: > Function* getPersonalityFunction( Module *m ) { > if ( Function *const f = m->getFunction( "...
2012 Apr 08
2
[LLVMdev] Catching C++ exceptions, cleaning up, rethrowing
On Apr 4, 2012, at 9:32 PM, Paul J. Lucas wrote: > On Mar 23, 2012, at 4:46 PM, Bill Wendling wrote: [...] > This all seems to work just fine. I can throw a C++ exception either in a C++ object's constructor or in an ordinary member function and the stack unwinds correctly (the object's destructors are called) and the exception is propagated back up the C++ code that called the
2012 Apr 09
5
[LLVMdev] Catching C++ exceptions, cleaning up, rethrowing
..., void* %0) >> to label %normal4 unwind label %unwind5 >> >> ; ... > > I generate the "exit", "return", and "unwind_resume" blocks first followed by a sequence of "normal", "unwind", and "dtor" blocks. A dtorN block calls dtorN-1 unless N=0 in which case it calls exit instead. > > Now I think my last part of the puzzle is the personality function. Running on a *nix system (Mac OS X), my code has: > >> Function* getPersonalityFunction( Module *m ) { >> if ( Function *const f = m-&...