<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/75335>75335</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Frontend Failure Compiling Webassembly
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
keegean
</td>
</tr>
</table>
<pre>
I'm trying to build GDAL for Webassembly for a larger project. I have had success in the past building this library and LLVM.
[gdalgeoloc.zip](https://github.com/llvm/llvm-project/files/13660872/gdalgeoloc.zip)
Stack dump:
0. Program arguments: /home/jwagner/emsdk/upstream/bin/clang++ -target wasm64-unknown-emscripten -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_TRACING__=1 -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN --sysroot=/home/jwagner/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -DGDAL_CMAKE_BUILD -DGDAL_COMPILATION -DHAVE_GEOS=1 -DINTERNAL_QHULL -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/apps -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/gcore -I/home/jwagner/myprojects/builds/gdal/gcore -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/port -I/home/jwagner/myprojects/builds/gdal/port -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/ogr -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/ogr/ogrsf_frmts -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg/marching_squares -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts/gtiff -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts/vrt -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts/mem -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg/internal_libqhull -v -fPIC -fvisibility=hidden -O3 -DNDEBUG -fPIC -Wall -Wextra -Winit-self -Wunused-parameter -Wmissing-declarations -Wshorten-64-to-32 -Wshadow -Wshadow-field -Wmissing-include-dirs -Wformat -Werror=format-security -Wno-format-nonliteral -Werror=vla -Wdate-time -Wnull-dereference -Wextra-semi -Wcomma -Wfloat-conversion -Wdocumentation -Wno-documentation-deprecated-sync -Wunused-private-field -Wnon-virtual-dtor -Woverloaded-virtual -Wsuggest-override -fno-operator-names -Wzero-as-null-pointer-constant -Wold-style-cast -Weffc++ -std=gnu++11 -MD -MT alg/CMakeFiles/alg.dir/gdalgeoloc.cpp.o -MF alg/CMakeFiles/alg.dir/gdalgeoloc.cpp.o.d -c -pthread /home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg/gdalgeoloc.cpp -o alg/CMakeFiles/alg.dir/gdalgeoloc.cpp.o
1. <eof> parser at end of file
2. /home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg/gdalgeoloc.cpp:523:29: instantiating function definition 'GDALGeoLoc<GDALGeoLocCArrayAccessors>::ExtractSquare'
#0 0x000055fb5773c638 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/jwagner/emsdk/upstream/bin/clang+++0x2d7b638)
#1 0x000055fb57739c6e llvm::sys::RunSignalHandlers() (/home/jwagner/emsdk/upstream/bin/clang+++0x2d78c6e)
#2 0x000055fb5773b8ae llvm::sys::CleanupOnSignal(unsigned long) (/home/jwagner/emsdk/upstream/bin/clang+++0x2d7a8ae)
#3 0x000055fb5769c069 CrashRecoverySignalHandler(int) (.llvm.7391973537039969274) CrashRecoveryContext.cpp:0:0
#4 0x00007f58d15dd520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x000055fb5a2a8706 clang::ASTContext::getRawCommentForDeclNoCacheImpl(clang::Decl const*, clang::SourceLocation, std::__2::map<unsigned int, clang::RawComment*, std::__2::less<unsigned int>, std::__2::allocator<std::__2::pair<unsigned int const, clang::RawComment*>>> const&) const (/home/jwagner/emsdk/upstream/bin/clang+++0x58e7706)
#6 0x000055fb5a2a9515 clang::ASTContext::attachCommentsToJustParsedDecls(llvm::ArrayRef<clang::Decl*>, clang::Preprocessor const*) (/home/jwagner/emsdk/upstream/bin/clang+++0x58e8515)
#7 0x000055fb597efff1 clang::Sema::ActOnStartOfFunctionDef(clang::Scope*, clang::Decl*, clang::Sema::SkipBodyInfo*, clang::Sema::FnBodyKind) (/home/jwagner/emsdk/upstream/bin/clang+++0x4e2eff1)
#8 0x000055fb5a06dfe1 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/home/jwagner/emsdk/upstream/bin/clang+++0x56acfe1)
#9 0x000055fb5a071b7c clang::Sema::PerformPendingInstantiations(bool) (/home/jwagner/emsdk/upstream/bin/clang+++0x56b0b7c)
#10 0x000055fb595a9014 clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) (/home/jwagner/emsdk/upstream/bin/clang+++0x4be8014)
#11 0x000055fb595a9719 clang::Sema::ActOnEndOfTranslationUnit() (/home/jwagner/emsdk/upstream/bin/clang+++0x4be8719)
#12 0x000055fb5944ca67 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/home/jwagner/emsdk/upstream/bin/clang+++0x4a8ba67)
#13 0x000055fb59447c0e clang::ParseAST(clang::Sema&, bool, bool) (/home/jwagner/emsdk/upstream/bin/clang+++0x4a86c0e)
#14 0x000055fb58486d31 clang::FrontendAction::Execute() (/home/jwagner/emsdk/upstream/bin/clang+++0x3ac5d31)
#15 0x000055fb583c7a90 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/jwagner/emsdk/upstream/bin/clang+++0x3a06a90)
#16 0x000055fb58586daa clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/jwagner/emsdk/upstream/bin/clang+++0x3bc5daa)
#17 0x000055fb56494c57 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/jwagner/emsdk/upstream/bin/clang+++0x1ad3c57)
#18 0x000055fb56492821 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#19 0x000055fb581de2e9 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__2::optional<llvm::StringRef>>, std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>*, bool*) const::$_0>(long) Job.cpp:0:0
#20 0x000055fb5769bdfc llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/jwagner/emsdk/upstream/bin/clang+++0x2cdadfc)
#21 0x000055fb581ddd45 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__2::optional<llvm::StringRef>>, std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>>*, bool*) const (/home/jwagner/emsdk/upstream/bin/clang+++0x381cd45)
#22 0x000055fb58191dc1 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/jwagner/emsdk/upstream/bin/clang+++0x37d0dc1)
#23 0x000055fb581b8bdb clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__2::pair<int, clang::driver::Command const*>>&) (/home/jwagner/emsdk/upstream/bin/clang+++0x37f7bdb)
#24 0x000055fb56491808 clang_main(int, char**, llvm::ToolContext const&) (/home/jwagner/emsdk/upstream/bin/clang+++0x1ad0808)
#25 0x000055fb564a31c1 main (/home/jwagner/emsdk/upstream/bin/clang+++0x1ae21c1)
#26 0x00007f58d15c4d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#27 0x00007f58d15c4e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#28 0x000055fb5640446a _start (/home/jwagner/emsdk/upstream/bin/clang+++0x1a4346a)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 18.0.0 (https://github.com/llvm/llvm-project 269685545e439ad050b67740533c59f965cae955)
Target: wasm64-unknown-emscripten
Thread model: posix
InstalledDir: /home/jwagner/emsdk/upstream/bin
clang++: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/gdalgeoloc-99b150.cpp
clang++: note: diagnostic msg: /tmp/gdalgeoloc-99b150.sh
clang++: note: diagnostic msg:
********************
em++: error: '/home/jwagner/emsdk/upstream/bin/clang++ -target wasm64-unknown-emscripten -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_TRACING__=1 -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN --sysroot=/home/jwagner/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -DGDAL_CMAKE_BUILD -DGDAL_COMPILATION -DHAVE_GEOS=1 -DINTERNAL_QHULL -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/apps -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/gcore -I/home/jwagner/myprojects/builds/gdal/gcore -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/port -I/home/jwagner/myprojects/builds/gdal/port -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/ogr -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/ogr/ogrsf_frmts -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg/marching_squares -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts/gtiff -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts/vrt -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/frmts/mem -I/home/jwagner/myprojects/3rd_party/gdal/gdal-3.5.0.3/alg/internal_libqhull -v -fPIC -fvisibility=hidden -O3 -DNDEBUG -fPIC -Wall -Wextra -Winit-self -Wunused-parameter -Wmissing-declarations -Wshorten-64-to-32 -Wshadow -Wshadow-field -Wmissing-include-dirs -Wformat -Werror=format-security -Wno-format-nonliteral -Werror=vla -Wdate-time -Wnull-dereference -Wextra-semi -Wcomma -Wfloat-conversion -Wdocumentation -Wno-documentation-deprecated-sync -Wunused-private-field -Wnon-virtual-dtor -Woverloaded-virtual -Wsuggest-override -fno-operator-names -Wzero-as-null-pointer-constant -Wold-style-cast -Weffc++ -std=gnu++11 -MD -MT alg/CMakeFiles/alg.dir/gdalgeoloc.cpp.o -MF alg/CMakeFiles/alg.dir/gdalgeoloc.cpp.o.d -c -pthread /home//myprojects/3rd_party/gdal/gdal-3.5.0.3/alg/gdalgeoloc.cpp -o alg/CMakeFiles/alg.dir/gdalgeoloc.cpp.o' failed (returned 1)
ninja: build stopped: subcommand failed.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsW0tz27qS_jX0BkUVCb4XXsh6JL7Xjj22cjyzUoFAU0ICAjwA6Mf59VOgKFmUFZ8kR1OzuE45NkU0Gl83Gt0fSIgYw1cS4NxLLrxkekZau1b6_DvACog8KxV7Ob_0cFYjq1-4XCGrUNlywdCn6fgKVUqjByiJMVCX4qX7TJAgegUaNVp9A2pH6BKtySOgNWHItJSCMYhLZNeAGmLsRl-ne80NErzURL8gIhm6uvrjeoS8YOoF48Hv5GLFiFiBEoqO_uKNl0w9nK-tbYwXjT089_B8xe26LUdU1R6eC_G4_eP3uDw8r7gA4-F5GKVpkGfY9RrqxcX-uPeW0O-ItXXjRuluBSPU_bvVaqVJjYhetTVI63AgD8_XqgYPz789kZUE7eE51IZ99_C8bYzVQByqkksPz6kgcuXhCw9fIN86F1r0REydxn4rv0v1JH2oDdW8sSCRXztbkE9VXXIJ2l8JVRLhE8GJ8Ykk4sVw40XTiggDO3GQpBSwp8inz88-PFNoLFfSvCNovolvu2bGTdcujEb-dLmcXd9P7i5vF7Mvy8XdeHL55dNy6UXT8LDx_vP4bjZdXs-ub-7-ZyfyKoB837wYrZT1oulPuu8Vo_MioWvXo9eC_P_u_Ip8_sTteqsbz7mkomVOsiLfwTDxE5JU1Q2xyJ-62F9Orsf_ni0vvl5eTXe3bq5vL6_Gi8ubL8iffh7_MVt-mt3c91ZeflnM7r6Mr5b_9fnr1RXyL4_ZV7_04eniMtJs2RBtX_rA7P_40SgZBaPIw3PSNOZEmsTqNIpWVGn4GVXdujd7en62499jaJS2vwPhZ_v9PQK10idTtPltqmWla3ui6T6hKiJWrhPRdM3lamn-bImGU8J0ty2vqtOqfDzVVG8V1lCf0qFcWtCSiKXg5Z_rVgjkPyK_ur2cIL965IaXXHD74kXTNWfMlYSbCPnTL9PZxddPW8EH4vo9wLPVBPkPXHLrGxAV8h9a2RpgfkM0qcGCRv5DzY3hcuUzoIJo0leEB7NW2lWANPat8iPc3SJMPe0u_IqDYHsa-qTpM66dhkrp2mXOB9BaaVeVuhu-Adpqbl-Q_yCV39-USgpuQROx1-FROPyMWPAtr8F1aIXwGWioQIOksDXTN1Bz5D9QVdeuTyUUsT5V8hG04Uo6NYp2RbqzcDP24JbPoNFAiQXmmxdJ97yl-aPDsLVXKuk_cm1bInxmlXOiegQtFGHAti3OTe1qBcb6rlFzBsivpPJVA5pYpX1JardiHv4CrXxi_M62RnUh4KAbS6RznxLMN_ZFgE8dc_IfoKroljMYy7xoupLt5kYYIv96ivzrBdoE1OSafId5T3mIWI0Y10PGQ5tmpJB_Pf-1HiOGfIr8xq41EHaU9fzWChiOg3z1a7A2BC3sCZoXTUBVXjRDDdEGNCIWgWRIVcjRwI0wHv1fofeicYIjLxrjwjFDvplSTqwjvlUraReKDCq3RN2lhzPHKT6BulLUiyavHyZjrcnLuCPSShsvmjk2Go1nLvqpve_yr4ezjUnIw1GAgucgCIIkqcokyyKaRjnqKHHX0byYzcWt5tJ2JHehCQUP569Cmjwt1ZZzpR6eIC6thwvk4fx3ea6HL4JnzLIyjfId1XaAwwPABU3hGOC7Vt7zlSTiM5FMgDYdmJNgymkKA0z4AFOZk6OYJgKIbJubHpmH81Z2myyGhHKjnAQeyckQXjSAlxY0SAs00cSs74C6tPMy8JSH89f5GzkzRllUhEUWJVEWREWRFjiLXftAx0RJC8-2j-ig-7-DEPcQsirJWZgwluCgt1Xw0sPz5zxdprEvuGyf_S5RuQY6MmqUdobFOMHBwKxk3yyCSZ4FKdr4o_P2-H7RY9p8XoG9I08TVbtkPld6ClR8URO3K7isGzcbe51dI-rSq4fHLqT32u5VqylcKdpVBNfY5VfXtFzizUVNGi-a7Ka3c-hAySuUfoC3OgQYc6gkmh2XJUI4PK4gTt62NoTrA01b494B5bKH-9mKpm7Ou-t_HKZJDlkWpIP5TA_ms0jC5L35JNYSuu7xmoX6V2vsrUvgzE2eGaSoLi_eQeVFk4NJ7g0d-uFWQ6PVJovuRcE_X55JDnkSJgO7s327iwyqqgoH4QY16a2g9kbeW6LtTTXvC8MUqmHk3lPVwNug3dp6EMo73fffeXOh2MulrNR7cnPppP7NJTuFP2LAUFXhwB_5IA6ClFXwA39c7kol7LmjL5MHXnmzZvcaXzvvfFQqJd7-PUEApIRWMDS4GBqchWVGjxt8C9ox4VuQjMvVq_mOjXs4Px3IMigz-vqIC0fhgCgUCSmCMH4nSmeS3VQLTaQRHbyvktu5JqtNbsmPdlx83UqcLLxKyIMwHhgSHhqShcUvGnIiKuHQZWExQDegEkUcU5Jmg8zUMdS964VqruARxCZ29x1705A_W7i1-m3S-6RV23TpcNYztqMOuFasFa44Ku24n4W-Bvxjw0lekjQbGB4dGJ7RAN4YPr5fHAmejQWnXqkxyVMawABkvA8yj_OURYPUNNeuQEk27tLJlnsDbZ3rThIzEaEJi8IBqgERyiOakSLYRzVRdcMF6E2-oDDA1UMdePXAjNNMekSClBTBAPmg5OdJnjJC9pH3GF8NeNwl8Pw9A09TrKOSJoyQAeJBsU7jIqZJhigNlzVxOn5AOdZkj0b0bGNwD0_Qo-LsRMBDwiKaDNdXfgAc5zhEW_9OwkW3avbg39dEiD-AWqU7dnzMim7dvXZxOnqGNqCMTPNH0G83Bg7WoPblIQMMReeKPb3bPfBSd97sWjfLabfBpUSIktDvy0oOs91m7D5MJqFji0Syw5V5dNbe0mjVvQkhzhl7jrKay1WfTH9Ez0tiOF2aTrR35XFB17K0mnBrtnI_Q_m3gk52j7-Md4x908XD8TLohPLthvNfqjw6Mzg42DWWrKJ7k3Js7_e68yYViJeBY9-fxFPsfCkjrBqQFhweRBdj8WBL8REdJ9rPRXlIWZwMnI-Hzi9CRsMfOr_L4ORN1dzOyCDdH3R0Anv5ZvLOGPui4wFvOJkjMhYwOqjPOBo6osxLVv4I5HTvelD9jpS9HznwMC-_TeU_fELw9jnFux7sY-o0_CCrspKVA8_FB0UrzIN8A25bb7eAuyUz7sP770vSCSpskAf5AGwyBEuikIbIwTzBaIDDg6BKh0_UaMyKX3yihgs2pGM4O9QJcYCWS9dtaSzRdrlnzk-PAvFwlAMmEsRxStBG_wk8FUdx-krZ9tujMepfGY03MYSqnuci2gd2RbgAhp64XSN45i5mGKAw6gKmNYD8R2QVMgCI73HR_cHQ9l1SmI-CUTclv3b4BOG0SPMkiROIo4KwIAnKNMviIIkimhRVkSaUQJG8JttFdyLEmfXDQyG94OYtTK0YCCfeKMOfN00ddRYC2JTrXzyfcszRUlm3zUCMk5VUxnKKarPaHY3ZLtXf-tk7dXN7NRvfz9B4sRhPPqPF5xma31xd3TxcfvmE5pdXs3u0uOluX3z9hO5mtzd3ix2G12d8wJDpHg95ODcuO7hQIMYoyokFhnQr0caROwENqCuvwBCxO5U_6wTnXVs3gzdBflGUYRJ0XOxkysz6t2bnRHME9ZGV5-Hs4-zTx9mnj7NPH2efPs4-fZx9-jj79HH26T_t7NP_16EnnG03OB7ONdhWS2DodVspufxGHEfbHOM3VjUNMHfDtOVwizQ6Y-cRK6KCnMF5mAU4znCYpGfr8zCPaYIroEmYVAGOizhkYVUEaRWxMIrhjJ_jAEchDqMQJ0mSjhKWUZzmZQV5GGOceXEANeFic_RE6dUZN6aF8yyJouRMkBKE6b6UgLGEJ9Q1ehh7yfRMn3c7qbJdGS8OBDfWvGqx3Ao4377bQHPCRasBbZ6ccLna_7rCWavF-S9_aaCD4iahg_q_AQAA__8iyHKP">