aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorMichael Buch <michaelbuch12@gmail.com>2024-04-11 20:30:48 +0200
committerGitHub <noreply@github.com>2024-04-11 20:30:48 +0200
commit38f8fcea3455ef1d77faf9746579f52b4e18dacc (patch)
tree68f88805f6776313c6683c1f01f6368d08996ec1 /clang/lib/CodeGen/CodeGenModule.cpp
parentfc52ee336b394d84110184d625cda1d4f84d8098 (diff)
downloadllvm-38f8fcea3455ef1d77faf9746579f52b4e18dacc.zip
llvm-38f8fcea3455ef1d77faf9746579f52b4e18dacc.tar.gz
llvm-38f8fcea3455ef1d77faf9746579f52b4e18dacc.tar.bz2
[lldb][ClangExpressionParser] Don't by default enable Objecitve-C support when evaluating C++ expressions (#87767)
This patch attempts to decouple C++ expression evaluation from Objective-C support. We've previously enabled it by default (if a runtime existed), but that meant we're opting into extra work we only need to do for Objective-C, which complicates/slows down C++ expression evaluation. Of course there's a valid use-case for this, which is calling Objective-C APIs when stopped in C++ frames (which Objective-C++ developers might want to do). In those cases we should really prompt the user to add the `expr --language objc++` flag. To accomodate a likely frequent use-case where a user breaks in a system C++ library (without debug-symbols) but their application is actually an Objective-C app, we allow Objective-C support in C++ expressions if the current frame doesn't have debug-info. This fixes https://github.com/llvm/llvm-project/issues/75443 and allows us to add more `LangOpts.ObjC` guards around the expression evaluator in the future (e.g., we could avoid looking into the Objective-C runtime during C++ expression evaluation, which we currently do unconditionally). Depends on https://github.com/llvm/llvm-project/pull/87657
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions