Michael Buch
e456d2ba8b
[clang][ASTImporter] DeclContext::localUncachedLookup: Continue lookup into decl chain when regular lookup fails
...
The uncached lookup is mainly used in the ASTImporter/LLDB code-path
where we're not allowed to load from external storage. When importing
a FieldDecl with a DeclContext that had no external visible storage
(but came from a Clang module or PCH) the above call to `lookup(Name)`
the regular `DeclContext::lookup` fails because:
1. `DeclContext::buildLookup` doesn't set `LookupPtr` for decls
that came from a module
2. LLDB doesn't use the `SharedImporterState`
In such a case we would never continue with the "slow" path of iterating
through the decl chain on the DeclContext. In some cases this means that
ASTNodeImporter::VisitFieldDecl ends up importing a decl into the
DeclContext a second time.
The patch removes the short-circuit in the case where we don't find
any decls via the regular lookup.
**Tests**
* Un-skip the failing LLDB API tests
Differential Revision: https://reviews.llvm.org/D133945
2022-09-16 12:38:50 -04:00
..
2022-08-17 09:02:43 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-12 10:23:15 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-16 18:10:14 -07:00
2022-06-17 14:34:49 -07:00
2022-07-08 00:12:29 +00:00
2022-08-17 15:39:21 +01:00
2022-07-15 10:52:35 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-22 15:46:03 -07:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-08 11:01:16 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-09-16 12:38:50 -04:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2022-08-11 19:11:01 -07:00
2022-06-17 14:34:49 -07:00
2022-08-26 10:28:28 +01:00
2020-02-20 08:32:01 +01:00
2022-08-11 19:11:01 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2021-06-25 11:33:09 +02:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2021-08-04 12:50:13 +02:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-08-11 19:11:01 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-07-10 18:56:06 -07:00
2022-08-15 08:54:06 +00:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2020-02-20 08:32:01 +01:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00
2022-06-17 14:34:49 -07:00