You can build it without DCE (just use MAIN_MODULE=1) and see what the 
mangled names are. You should be able to preserve them that way. In the end 
it's just functions defined in LLVM bitcode.

On Sunday, May 21, 2017 at 6:38:48 AM UTC-7, weitjong wrote:
>
> Sorry to hijack this discussion but it is related to the work I have been 
> working on for Urho3D project (
> https://github.com/urho3d/Urho3D/commit/e30de5eb5bef612dec18a2496bfd8532d92c3a4f).
>  
> In my use case, the MAIN_MODULE=2 has eliminated some of the required C++ 
> symbols and I could not use EXPORTED_FUNCTIONS setting to add them back 
> because those are C++ mangled symbol names. Also because they are C++ 
> symbols and not C functions, I could not use EMSCRIPTEN_KEEPALIVE or 
> __attribute__((used)) to tell Emscripten that I want them to be kept. What 
> would really be beneficial for my use case is, if there is a way I can tell 
> Emscripten to keep all the symbols that I have tagged with 
> __attribute__((visibility("default"))). The visibility attribute is the one 
> we normally use when exporting symbols for a conventional SHARED library. 
> It will be great if Emscripten could understand that and automatically keep 
> all those exported symbols from being DCEd.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to