summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
AgeCommit message (Collapse)Author
2025-03-28[lldb] Use *Set::insert_range and a range constructor (NFC) (#133548)Kazu Hirata
This patch uses *Set::insert_range and a range constructor of DenseSet to clean up the code to populate sets.
2025-02-05[clang] NFC: rename MatchedPackOnParmToNonPackOnArg to StrictPackMatch (#125418)Matheus Izvekov
This rename follows the proposed wording in P3310R5, which introduces the term 'strict pack match' to refer to the same thing.
2025-02-05Reland: [clang] fix P3310 overload resolution flag propagation (#125791)Matheus Izvekov
Class templates might be only instantiated when they are required to be complete, but checking the template args against the primary template is immediate. This result is cached so that later when the class is instantiated, checking against the primary template is not repeated. The 'MatchedPackOnParmToNonPackOnArg' flag is also produced upon checking against the primary template, so it needs to be cached in the specialziation as well. This fixes a bug which has not been in any release, so there are no release notes. Fixes #125290
2023-01-27[lldb][CXXModuleHandler] Set TemplateArgument::IsDefaultedMichael Buch
Since https://reviews.llvm.org/D141827 this field gets used to print type names. Thus propagate it after importing TemplateArguments from modules. **Testing** * Confirmed that this fixes the ongoing `import-std-module` test failures. Differential Revision: https://reviews.llvm.org/D142714
2023-01-07[lldb] Use std::optional instead of llvm::Optional (NFC)Kazu Hirata
This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to clean up the "using" declarations, #include "llvm/ADT/Optional.h", etc. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2023-01-07[lldb] Add #include <optional> (NFC)Kazu Hirata
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>. I'll post a separate patch to actually replace llvm::Optional with std::optional. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2022-12-04[lldb] Use std::nullopt instead of None (NFC)Kazu Hirata
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2022-02-03[lldb] Rename Logging.h to LLDBLog.h and clean up includesPavel Labath
Most of our code was including Log.h even though that is not where the "lldb" log channel is defined (Log.h defines the generic logging infrastructure). This worked because Log.h included Logging.h, even though it should. After the recent refactor, it became impossible the two files include each other in this direction (the opposite inclusion is needed), so this patch removes the workaround that was put in place and cleans up all files to include the right thing. It also renames the file to LLDBLog to better reflect its purpose.
2022-02-02[lldb] Convert "LLDB" log channel to the new APIPavel Labath
2022-01-23[lldb] CxxModuleHandler - use cast<> instead of dyn_cast<> to avoid ↵Simon Pilgrim
dereference of nullptr The pointer is dereferenced immediately, so assert the cast is correct instead of returning nullptr
2021-01-27[lldb] Add move_iterator to supported template listRaphael Isemann
Identical to previous commits that just add a standard library template to the supported template list and test it. Adding this rather obscure class to the template list is mostly caused by the std::deque test unexpectedly referencing this type when testing against newer libc++ versions on macOS. Fixes TestQueueFromStdModule and TestQueueFromStdModule on macOS. Fixes rdar://73213589
2020-12-17[lldb] Add std::array to the supported template list of the CxxModuleHandlerRaphael Isemann
Identical to the other patches that add STL containers to the supported templated list.
2020-09-28[lldb][NFC] Minor cleanup in CxxModuleHandler::tryInstantiateStdTemplateRaphael Isemann
Using llvm::None and `contains` instead of `find`.
2020-09-09[lldb] Enable std::pair in CxxModuleHandlerRaphael Isemann
This adds support for substituting std::pair instantiations with enabled import-std-module. With the fixes in parent revisions we can currently substitute a single pair (however, a result that returns a second pair currently causes LLDB to crash while importing the second template instantiation). Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D85141
2020-06-24[lldb] Use std::make_unique<> (NFC)Jonas Devlieghere
Update the rest of lldb to use std::make_unique<>. I used clang-tidy to automate this, which probably missed cases that are wrapped in ifdefs.
2020-06-19As part of using inclusive language with the llvm project,Eric Christopher
migrate away from the use of blacklist and whitelist.
2020-01-31[lldb] Move clang-based files out of SymbolAlex Langford
Summary: This change represents the move of ClangASTImporter, ClangASTMetadata, ClangExternalASTSourceCallbacks, ClangUtil, CxxModuleHandler, and TypeSystemClang from lldbSource to lldbPluginExpressionParserClang.h This explicitly removes knowledge of clang internals from lldbSymbol, moving towards a more generic core implementation of lldb. Reviewers: JDevlieghere, davide, aprantl, teemperor, clayborg, labath, jingham, shafik Subscribers: emaste, mgorny, arphaman, jfb, usaxena95, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D73661