llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: nerix (Nerixyz) <details> <summary>Changes</summary> >From #<!-- -->148554 - compile tests with exceptions on Windows >(`-fno-exceptions` was added 11 years ago in >c7826524acda6a9c8816261d5c48b94dc92935ed). The variant test uses `try {} catch >{}` to create variants that are valueless by exception. On other platforms, >exceptions are enabled as well. I have no clue why compiling with exceptions will optimize out `a_long_guy` in the changed test (even with `-O0`). Taking the address of that value will ensure it's kept. --- Full diff: https://github.com/llvm/llvm-project/pull/148691.diff 2 Files Affected: - (modified) lldb/packages/Python/lldbsuite/test/make/Makefile.rules (-4) - (modified) lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp (+1) ``````````diff diff --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules index 58833e1b0cc78..8521ca508a479 100644 --- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules +++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules @@ -344,10 +344,6 @@ endif #---------------------------------------------------------------------- ifeq "$(OS)" "Windows_NT" ifeq ($(CC_TYPE), clang) - # Clang for Windows doesn't support C++ Exceptions - CXXFLAGS += -fno-exceptions - CXXFLAGS += -D_HAS_EXCEPTIONS=0 - # MSVC 2015 or higher is required, which depends on c++14, so # append these values unconditionally. CXXFLAGS += -fms-compatibility-version=19.0 diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp index 9d12ca30f984c..32f5f2ce436fe 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp @@ -165,6 +165,7 @@ int main (int argc, const char * argv[]) Simple a_simple_object(3,0.14,'E'); VeryLong a_long_guy; + auto *unused = &a_long_guy; // ensure a_long_guy isn't optimized out std::string some_string = "012345678901234567890123456789" "012345678901234567890123456789" `````````` </details> https://github.com/llvm/llvm-project/pull/148691 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits