Closed
Description
Given the llvm:
define i1 @"S_P_CoreLib_System_Collections_Generic_EqualityComparer_1<S_P_CoreLib_System_Threading_WaitSubsystem_ThreadWaitInfo_WaitedListNode>__System_Collections_IEqualityComparer_Equals"(i8*) {
and
@"__EEType_<PInvokeDelegateWrapper>S_P_CoreLib_Interop_Globalization_EnumCalendarInfoCallback___SYMBOL" = internal constant i32* bitcast ([6 x i32*]* @"__EEType_<PInvokeDelegateWrapper>S_P_CoreLib_Interop_Globalization_EnumCalendarInfoCallback" to i32*)
and the command
D:\GitHub\emsdk\emscripten\1.38.11\emcc.bat "D:\GitHub\corert\corert\tests\src\Simple\HelloWasm\obj\Debug\wasm\native\HelloWasm.bc" -o "D:\GitHub\corert\corert\tests\src\Simple\HelloWasm\bin\Debug\wasm\native\HelloWasm.html" -s WASM=0 -s ALLOW_MEMORY_GROWTH=1 --emrun "D:\GitHub\corert\corert\tests\\..\bin\WebAssembly.wasm.Debug/sdk/libPortableRuntime.bc" "D:\GitHub\corert\corert\tests\\..\bin\WebAssembly.wasm.Debug/sdk/libbootstrappercpp.bc" "D:\GitHub\corert\corert\tests\\..\bin\WebAssembly.wasm.Debug/sdk/libSystem.Private.CoreLib.Native.bc" -g3
Both the llvm functions have angle brackets in the names, but the first has the brackets converted to _s, e.g.:
function _S_P_CoreLib_System_Collections_Generic_EqualityComparer_1_S_P_CoreLib_System_Threading_WaitSubsystem_ThreadWaitInfo_WaitedListNode___System_Collections_IEqualityComparer_Equals($0) {
But the second is actually undefined so is written out
// {{PRE_LIBRARY}}
function _<PInvokeDelegateWrapper>S_P_CoreLib_Interop_Globalization_EnumCalendarInfoCallback__<ForwardNativeFunctionWrapper>S_P_CoreLib_Interop_Globalization_EnumCalendarInfoCallback() {
err('missing function: <PInvokeDelegateWrapper>S_P_CoreLib_Interop_Globalization_EnumCalendarInfoCallback__<ForwardNativeFunctionWrapper>S_P_CoreLib_Interop_Globalization_EnumCalendarInfoCallback'); abort(-1);
}
And as you can see still contains the <>s which are invalid JS AFAIK. Is this a bug or have I misunderstood something?
Metadata
Metadata
Assignees
Labels
No labels