dschuff wrote:

+cc @sbc100 about issue 1 and @aheejin about issue 2.

Pardon my ignorance about objc here... When you say "explicitly hidden" what do 
you mean exactly? Do you mean something like 
`__attribute__((visibility("hidden"))`? 

On exception handling, I took a quick look at the IR output of your example. 
The cc1 command includes
`-target-feature +exception-handling -target-feature +multivalue 
-target-feature +reference-types -exception-model=wasm -mllvm -wasm-enable-eh 
-fobjc-exceptions -fexceptions  -mllvm -wasm-enable-sjlj -mllvm 
-wasm-use-legacy-eh` which looks approximately right. The IR output uses the 
`@__gnustep_objc_personality_v0` and uses objc exception runtime functions 
including `@objc_begin_catch(ptr %exn)`. Probably the exception handling ABI 
for objc is going to have to be tuned the way the libc++ EH ABI was, which will 
probably take some small tweaks in the frontend to have the same behavior, and 
some larger tweaks in the runtime, as there was with libc++ and libc++abi.
I believe all of our wasm-specific change to the EH runtime have been 
upstreamed by @aheejin so you can take a look at the wasm-specific code there 
to get an idea of what it would take for objc.

https://github.com/llvm/llvm-project/pull/169043
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to