[all-commits] [llvm/llvm-project] 95b5b6: [lldb][test] Add test for handling conflicting Obj...
Michael Buch via All-commits
all-commits at lists.llvm.org
Tue Jun 10 02:58:55 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 95b5b6801ce4c08e1bc92616321cd4127e7c0957
https://github.com/llvm/llvm-project/commit/95b5b6801ce4c08e1bc92616321cd4127e7c0957
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-10 (Tue, 10 Jun 2025)
Changed paths:
A lldb/test/Shell/Expr/TestObjCxxEnumConflict.test
Log Message:
-----------
[lldb][test] Add test for handling conflicting Objective-C NS_OPTIONS typedefs
Add test that checks whether the expression evaluator can handle
the `NS_ENUM`/`NS_OPTIONS` typedefs from Objective-C `CoreFoundation`.
In the test, `module.h` mimicks the `NS_OPTIONS` typedef from `CoreFoundation`.
The `ClangModulesDeclVendor` currently compiles modules as
C++, so the `MyInt` Clang decl in the module will be a `TypedefType`,
while the DWARF AST parser will produce an `EnumType` (since that's what
the debug-info says). When the `ASTImporter` imports these decls into the
scratch AST, it will fail to re-use one or the other decl because they
aren't structurally equivalent (one is a typedef, the other an enum),
so we end up with two conflicting `MyInt` declarations in the scratch AST
and the expression fails to run due to ambiguity in name lookup.
rdar://151022173
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list