<HTML><BODY><div>Hi!</div><div>Thanks for the clarification!</div><div>LGTM</div><div> </div><div> </div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>Best regards,</div><div>Maxim Kokryashkin</div></div></div><div> </div><div> </div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Воскресенье, 18 февраля 2024, 14:58 +03:00 от Sergey Kaplun <skaplun@tarantool.org>:<br> <div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_17082575331228826502_BODY">Hi, Maxim!<br><br>On 18.02.24, Maxim Kokryashkin wrote:<br>><br>> Hi, thanks for the fixup!<br>> IINM, the LUAJIT_NO_UNWIND flag means that there is no<br>> external unwinding, and internal unwinding is used instead,<br>> without any additional configuration. Do we really need to add<br>> this extra flag?<br><br>This is a tag for the testing suite. As you can see, it adds the<br>additional flag to index the file to skip. Option LUAJIT_NO_UNWIND is<br>already used, see <CMakeLists.txt>:<br>| option(LUAJIT_NO_UNWIND "Disable external unwinding.")<br>With internal unwinder, there is no interoperability with C++ ABI<br>exceptions, so exeptions from this <catch.cpp.lua> are not catched<br>(predictable), and this aborts the process.<br><br>> <br>> <br>> --<br>> Best regards,<br>> Maxim Kokryashkin<br>> <br>> <br>> > <br>> >>Hi, folks!<br>> >><br>> >>I found that with disabled external unwinding, the <catch_cpp.lua> fails<br>> >>(predictably). The following patch fixes it (squashed it with the<br>> >>corresponding commit).<br>> >>===================================================================<br>> >>diff --git a/test/LuaJIT-tests/CMakeLists.txt b/test/LuaJIT-tests/CMakeLists.txt<br>> >>index e91e3d4a..a0fb5440 100644<br>> >>--- a/test/LuaJIT-tests/CMakeLists.txt<br>> >>+++ b/test/LuaJIT-tests/CMakeLists.txt<br>> >>@@ -57,12 +57,19 @@ if(LUAJIT_USE_ASAN)<br>> >> endif()<br>> >> endif()<br>> >> <br>> >>+if(LUAJIT_NO_UNWIND)<br>> >>+ # Test <catch_cpp.lua> verifies the interoperability with C++<br>> >>+ # ABI exceptions, so it requires external unwinding enabled.<br>> >>+ # Hence, skip them otherwise.<br>> >>+ set(LUAJIT_TEST_TAGS_EXTRA +internal_unwinder)<br>> >>+endif()<br>> >>+<br>> >> add_custom_command(TARGET LuaJIT-tests<br>> >> COMMENT "Running LuaJIT-tests"<br>> >> COMMAND<br>> >> env<br>> >> ${LUAJIT_TESTS_ENV}<br>> >> ${LUAJIT_TEST_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}/test.lua<br>> >>- +slow +ffi +bit +jit<br>> >>+ +slow +ffi +bit +jit ${LUAJIT_TEST_TAGS_EXTRA}<br>> >> WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}<br>> >> )<br>> >>diff --git a/test/LuaJIT-tests/lang/index b/test/LuaJIT-tests/lang/index<br>> >>index 41f7e7db..4ff7a297 100644<br>> >>--- a/test/LuaJIT-tests/lang/index<br>> >>+++ b/test/LuaJIT-tests/lang/index<br>> >>@@ -1,7 +1,7 @@<br>> >> andor.lua<br>> >> api_call.lua<br>> >> assignment.lua<br>> >>-catch_cpp.lua<br>> >>+catch_cpp.lua -internal_unwinder<br>> >> catch_wrap.lua<br>> >> compare.lua<br>> >> compare_nan.lua<br>> >>===================================================================<br>> >><br>> >>--<br>> >>Best regards,<br>> >>Sergey Kaplun<br>> > <br><br>--<br>Best regards,<br>Sergey Kaplun</div></div></div></div></blockquote><div> </div></BODY></HTML>