[lldb] Fix the way we set up the lldb modules infrastructure.
commitc95a0c91c0de66eb1066f23c69332522656f188e
authorVassil Vassilev <v.g.vassilev@gmail.com>
Mon, 5 Dec 2022 07:18:23 +0000 (5 07:18 +0000)
committerVassil Vassilev <v.g.vassilev@gmail.com>
Mon, 5 Dec 2022 07:39:19 +0000 (5 07:39 +0000)
tree409dade46c79cbd5b5d66281df2cc543088cc8f6
parent92c96f29fa79d3ab188a620e6afc4f9d6dfdafd3
[lldb] Fix the way we set up the lldb modules infrastructure.

D127284 introduced a new language option which is not benign from modules
perspective. Before this patch lldb would set up the compiler invocation and
later enable incremental processing. Post-D127284 this does not work because
the option causes a module hash mismatch for implicit modules.

In addition, D127284 enables parsing statements on the global scope if
incremental processing is on and thus `syntax_error_for_lldb_to_find` was
rightfully not recognized as a declaration and is considered a statement
which produces a slightly different diagnostic.

Thanks to Michael Buch for the help in understanding this issue. This patch
should appease the lldb bots.

More discussion available at: https://reviews.llvm.org/D127284
lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py