summaryrefslogtreecommitdiffstats
path: root/lldb/source/Expression/ClangModulesDeclVendor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Moved more Clang-specific parts of the expression parser into the Clang plugin.Sean Callanan2015-09-251-731/+0
| | | | | | | | | There are still a bunch of dependencies on the plug-in, but this helps to identify them. There are also a few more bits we need to move (and abstract, for example the ClangPersistentVariables). llvm-svn: 248612
* Fixed the C modules test case on Darwin by streamlining its code.Sean Callanan2015-07-081-28/+15
| | | | | | | | | | We don't need to do the fancy dance with checking whether the iterator represents a #define -- in fact, that's the wrong thing to do. The thing to do is check whether the highest-priority module that did something to the module #defined or #undefd it. If it #defined it, then the MacroInfo* will be non-NULL and we're good to go. llvm-svn: 241651
* Updated our use of clang::Preprocessor to reflectSean Callanan2015-05-011-1/+1
| | | | | | a change in the API used to get macros. llvm-svn: 236292
* Fix build after Clang API change in r236176.Richard Smith2015-04-291-11/+4
| | | | llvm-svn: 236182
* Fix build.Chaoren Lin2015-04-231-1/+1
| | | | llvm-svn: 235653
* Fix build of lldb after clang r235614.Richard Smith2015-04-231-2/+2
| | | | llvm-svn: 235631
* This patch implements several improvements to theSean Callanan2015-04-201-12/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added support to ClangUserExpression for importingSean Callanan2015-04-141-2/+145
| | | | | | | | | | | | | all the macros from the modules the user has loaded. These macros are currently imported textually into the expression's source code, which turns out not to impose the horrific string processing overhead that I thought it would, but I still plan to look into performance improvements. Also modified TestCModules to test that this works. llvm-svn: 234922
* Fixed a problem where the second @import statementSean Callanan2015-04-071-2/+2
| | | | | | | | | | | | in a session would be silently ignored by the compiler because the compiler looked at its SourceLocation and decided it had already handled it. Also updated the relevant test case. <rdar://problem/20315447> llvm-svn: 234330
* Added a testcase that covers loading a module andSean Callanan2015-04-031-0/+12
| | | | | | | | | | | verifying that the types from that module don't override types from DWARF. Also added a target setting to LLDB so we can tell Clang where to look for these local modules. <rdar://problem/18805055> llvm-svn: 234016
* Move lldb-log.cpp to core/Logging.cppZachary Turner2015-03-181-0/+1
| | | | | | | | | So that we don't have to update every single #include in the entire codebase to #include this new header (which used to get included by lldb-private-log.h, we automatically #include "Logging.h" from within "Log.h". llvm-svn: 232653
* Fixed bugs in the multi-threaded access in HostInfoBase. Prior to this fix, ↵Greg Clayton2015-02-031-2/+4
| | | | | | | | | | static bool variables were used but this is not sufficient. We now use std::call_once in all places where the previous static bool code was used to try to implement thread safety. This was causing code that opened multiple targets to try and get a path to debugserver from the GDB remote communication class, and it would get the LLDB path and some instances would return empty strings and it would cause debugserver to not be found. <rdar://problem/18756927> llvm-svn: 227935
* Fix the -*-version-min option to not try and use the current OS version for ↵Greg Clayton2015-01-221-1/+1
| | | | | | iOS and the simulator since llvm/clang will assert and kill LLDB. llvm-svn: 226846
* Add new-lines after module compiler errors soSean Callanan2014-12-061-0/+1
| | | | | | they are readable. llvm-svn: 223557
* Fix compilation errors after clang modules checkin.Zachary Turner2014-12-051-2/+3
| | | | llvm-svn: 223484
* This is the meat of the code to add Clang modulesSean Callanan2014-12-051-0/+370
support to LLDB. It includes the following: - Changed DeclVendor to TypeVendor. - Made the ObjCLanguageRuntime provide a DeclVendor rather than a TypeVendor. - Changed the consumers of TypeVendors to use DeclVendors instead. - Provided a few convenience functions on ClangASTContext to make that easier. llvm-svn: 223433
OpenPOWER on IntegriCloud