summaryrefslogtreecommitdiffstats
path: root/lldb/include/lldb/Symbol/SymbolVendor.h
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2015-04-20 16:31:29 +0000
committerSean Callanan <scallanan@apple.com>2015-04-20 16:31:29 +0000
commitf0c5aeb69011197d1ef1bbed7ba363d52e95c5d8 (patch)
treea9ad4361dfe9cdc044504cafed3af7dc215ff5c7 /lldb/include/lldb/Symbol/SymbolVendor.h
parent2cc2b63f533cfbda9753711cdf3414f6c26cbe6a (diff)
downloadbcm5719-llvm-f0c5aeb69011197d1ef1bbed7ba363d52e95c5d8.tar.gz
bcm5719-llvm-f0c5aeb69011197d1ef1bbed7ba363d52e95c5d8.zip
This patch implements several improvements to the
module-loading support for the expression parser. - It adds support for auto-loading modules referred to by a compile unit. These references are currently in the form of empty translation units. This functionality is gated by the setting target.auto-import-clang-modules (boolean) = false - It improves and corrects support for loading macros from modules, currently by textually pasting all #defines into the user's expression. The improvements center around including only those modules that are relevant to the current context - hand-loaded modules and the modules that are imported from the current compile unit. - It adds an "opt-in" mechanism for all of this functionality. Modules have to be explicitly imported (via @import) or auto-loaded (by enabling the above setting) to enable any of this functionality. It also adds support to the compile unit and symbol file code to deal with empty translation units that indicate module imports, and plumbs this through to the CompileUnit interface. Finally, it makes the following changes to the test suite: - It adds a testcase that verifies that modules are automatically loaded when the appropriate setting is enabled (lang/objc/modules-auto-import); and - It modifies lanb/objc/modules-incomplete to test the case where a module #undefs something that is #defined in another module. <rdar://problem/20299554> llvm-svn: 235313
Diffstat (limited to 'lldb/include/lldb/Symbol/SymbolVendor.h')
-rw-r--r--lldb/include/lldb/Symbol/SymbolVendor.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/include/lldb/Symbol/SymbolVendor.h b/lldb/include/lldb/Symbol/SymbolVendor.h
index cddf2165635..248918af283 100644
--- a/lldb/include/lldb/Symbol/SymbolVendor.h
+++ b/lldb/include/lldb/Symbol/SymbolVendor.h
@@ -66,6 +66,10 @@ public:
virtual bool
ParseCompileUnitSupportFiles (const SymbolContext& sc,
FileSpecList& support_files);
+
+ virtual bool
+ ParseImportedModules (const SymbolContext &sc,
+ std::vector<ConstString> &imported_modules);
virtual size_t
ParseFunctionBlocks (const SymbolContext& sc);
OpenPOWER on IntegriCloud