- Jul 22, 2015
-
-
Pavel Labath authored
Summary: This enables us to avoid casts to "void *" in some cases and avoids a couple of "casts off const qualifiers" warnings. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11388 llvm-svn: 242874
-
Bruce Mitchener authored
Summary: Fix a bunch of typos. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11386 llvm-svn: 242856
-
- Jul 20, 2015
-
-
Sean Callanan authored
for a CXXRecordDecl gets pointed at that record. This can happen when a type is imported out of and then into the target's AST context without being laid out. Also added a testcase that covers this scenario. <rdar://problem/21844453> llvm-svn: 242687
-
- Jul 09, 2015
-
-
Pavel Labath authored
The mentioned commit introduced a subtle change in behavior when printing variable names. This occured when we have a variable, for which we only know the demangled name, because the compiler has failed to provide one (this typically happens for variables in anonymous namespaces). A Mangled class which contains only a demangled name considers itself to be invalid (this could possibly be a bug), but it's GetName() method still returns a valid demangled name. The previous commit introduced the check for the validity of the class, and if it failed, it would fall back to printing the bare name (without the namespace prefixes, as the tests were expecting). I revert this part of the commit and check the validity of the string returned by GetName() instead. llvm-svn: 241795
-
Greg Clayton authored
Make many mangled functions that might demangle a name be allowed to specify a language to use in order to soon support Pascal and Java demangling. Dawn Perchik will take care of making this so. llvm-svn: 241751
-
- Jul 08, 2015
-
-
Sean Callanan authored
pointed into the artificial function constructed for the expression. I now make anything that pointed to the function as its DeclContext be global while the copy occurs; afterward I restored the old DeclContext. Added a testcase that make sure that this works properly and doesn't crash anything. <rdar://problem/21049838> llvm-svn: 241695
-
- Jul 07, 2015
-
-
Pavel Labath authored
llvm-svn: 241573
-
- Jul 06, 2015
-
-
Enrico Granata authored
This API is currently a no-op (in the sense that it has the same behavior as the already existing GetName()), but is meant long-term to provide a best-for-visualization version of the name of a function It is still not hooked up to the command line 'bt' command, nor to the 'gui' mode, but I do have ideas on how to make that work going forward rdar://21203242 llvm-svn: 241482
-
- Jul 03, 2015
-
-
Tamas Berghammer authored
Previously we handled only a few opcode DWARF CFI opcode when we were parsing the CIE. With this change we use mostly the same code what we use for parsing the PDE which cover more opcode. Differential revision: http://reviews.llvm.org/D10866 llvm-svn: 241332
-
Tamas Berghammer authored
The CFA offset shouldn't be irestored to the saved value in case of a DW_CFA_restore_state opcode. Differential revision: http://reviews.llvm.org/D10843 llvm-svn: 241331
-
- Jun 25, 2015
-
-
Greg Clayton authored
A few extras were fixed - Symbol::GetAddress() now returns an Address object, not a reference. There were places where people were accessing the address of a symbol when the symbol's value wasn't an address symbol. On MacOSX, undefined symbols have a value zero and some places where using the symbol's address and getting an absolute address of zero (since an Address object with no section and an m_offset whose value isn't LLDB_INVALID_ADDRESS is considered an absolute address). So fixing this required some changes to make sure people were getting what they expected. - Since some places want to access the address as a reference, I added a few new functions to symbol: Address &Symbol::GetAddressRef(); const Address &Symbol::GetAddressRef() const; Linux test suite passes just fine now. <rdar://problem/21494354> llvm-svn: 240702
-
Enrico Granata authored
Handle (or at least don't crash) trying to get the encoding for a bunch of new builtin types in clang trunk llvm-svn: 240606
-
- Jun 24, 2015
-
-
Tamas Berghammer authored
* Add and fix the emulation of several instruction. * Disable frame pointer usage on Android. * Specify return address register for the unwind plan instead of explict tracking the value of RA. * Replace prologue detection heuristics (unreliable in several cases) with a logic to follow the branch instructions and restore the CFI value based on them. The target address for a branch should have the same CFI as the source address (if they are in the same function). * Handle symbols in ELF files where the symbol size is not specified with calcualting their size based on the next symbol (already done in MachO files). * Fix architecture in FuncUnwinders with filling up the inforamtion missing from the object file with the architecture of the target. * Add code to read register wehn the value is set to "IsSame" as it meanse the value of a register in the parent frame is the same as the value in the current frame. Differential revision: http://reviews.llvm.org/D10447 llvm-svn: 240533
-
- Jun 23, 2015
-
-
Greg Clayton authored
llvm-svn: 240351
-
- Jun 19, 2015
-
-
Tamas Berghammer authored
llvm-svn: 240162
-
Jason Molenda authored
bug in old clang's. llvm-svn: 240070
-
- Jun 18, 2015
-
-
Jason Molenda authored
Problem noticed by Todd Fiala. llvm-svn: 240060
-
Bruce Mitchener authored
No functional change. llvm-svn: 239995
-
- Jun 15, 2015
-
-
Greg Clayton authored
The problem is for lldb_private::Type instances that have encoding types (pointer/reference/const/volatile/restrict/typedef to type with user ID 0x123). If they started out with m_flags.clang_type_resolve_state being set to eResolveStateUnresolved (0), then when we would call Type::ResolveClangType(eResolveStateForward) we would complete the full type due to logic errors in the code. We now only complete the type if clang_type_resolve_state is eResolveStateLayout or eResolveStateFull and we correctly upgrade the type's current completion state to eResolveStateForward after we make a forward delcaration to the pointer/reference/const/volatile/restrict/typedef type instead of leaving it set to eResolveStateUnresolved. llvm-svn: 239752
-
- Jun 09, 2015
-
-
Pavel Labath authored
This seems to break expression evaluation on the linux build. llvm-svn: 239366
-
Pavel Labath authored
Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8712 Original Author: Ryan Brown <ribrdb@google.com> llvm-svn: 239360
-
- Jun 01, 2015
-
-
Chaoren Lin authored
Reviewers: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10153 llvm-svn: 238722
-
- May 29, 2015
-
-
Zachary Turner authored
Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore, all includes of it should be localized to the python library which will live under source/bindings/API/Python after a future patch. None of the files that were including this header actually depended on it anyway, so it was just a dead include in every single instance. llvm-svn: 238581
-
- May 26, 2015
-
-
Vince Harron authored
llvm-svn: 238174
-
Vince Harron authored
If binding to port 0 is selected, the actual port is printed. This improves the reliability of platform startup by ensuring that a free port can be found. TEST PLAN ./lldb-server platform --listen *:0 Listening for a connection from <port-number>... Will appear on stdout (with other stuff potentially) llvm-svn: 238173
-
- May 13, 2015
-
-
Vince Harron authored
Removed some unused variables, added some consts, changed some casts to const_cast. I don't think any of these changes are very controversial. Differential Revision: http://reviews.llvm.org/D9674 llvm-svn: 237218
-
- May 07, 2015
-
-
Greg Clayton authored
The ClangASTContext::getTargetInfo() will return NULL in this case and could cause us to crash if we don't check. <rdar://problem/20543554> llvm-svn: 236681
-
- May 06, 2015
-
-
Pavel Labath authored
Summary: GetEHFrameAugmentedUnwindPlan duplicated the work of GetEHFrameUnwindPlan in getting the original plan from DWARF CFI. This changes the function to call GetEHFrameUnwindPlan instead of doing all the work itself. A copy constructor is added to UnwindPlan to enable plan copying. Test Plan: No regressions on linux test suite. Reviewers: jasonmolenda, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9369 llvm-svn: 236607
-
- May 05, 2015
-
-
Jason Molenda authored
compact unwind encodings for x86_64 / i386 omit-frame-pointer code. It was possible for lldb to get the location of saved registers incorrect for some of these functions. <rdar://problem/20753264> llvm-svn: 236478
-
- Apr 22, 2015
-
-
Pavel Labath authored
Summary: Just what it says on the box. Reviewers: jasonmolenda Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9150 llvm-svn: 235493
-
- Apr 20, 2015
-
-
Sean Callanan authored
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
-
- Apr 15, 2015
-
-
Greg Clayton authored
Change SymbolVendor::GetCompileUnitAtIndex() and SymbolVendor::Dump() to make sure they are thread safe. <rdar://problem/20263111> llvm-svn: 234951
-
- Apr 13, 2015
-
-
Greg Clayton authored
llvm-svn: 234771
-
- Apr 09, 2015
-
-
Sean Callanan authored
context as the first thing we do. This prevents crashes if some of the initial setup produces messages or errors. <rdar://problem/20457882> llvm-svn: 234511
-
- Apr 08, 2015
-
-
Stephane Sezer authored
Summary: If a struct type S has a member T that has a member that is a function that returns a typedef of S* the respective field would be duplicated, which caused an assert down the line in RecordLayoutBuilder. This patch adds a check that removes the possibility of trying to resolve the same type twice within the same callstack. This commit also adds unit tests for these failures. Fixes https://llvm.org/bugs/show_bug.cgi?id=20486. Patch by Cristian Hancila. Test Plan: Run unit tests. Reviewers: clayborg spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8561 llvm-svn: 234441
-
- Apr 02, 2015
-
-
Zachary Turner authored
There were a couple of real bugs here regarding error checking and signed/unsigned comparisons, but mostly these were just noise. There was one class of bugs fixed here which is particularly annoying, dealing with MSVC's non-standard behavior regarding the underlying type of enums. See the comment in lldb-enumerations.h for details. In short, from now on please use FLAGS_ENUM and FLAGS_ANONYMOUS_ENUM when defining enums which contain values larger than can fit into a signed integer. llvm-svn: 233943
-
Jason Molenda authored
When we're seeing offsets that exceed the size of our section, don't try to use that unwind info. <rdar://problem/20113673> llvm-svn: 233886
-
- Apr 01, 2015
-
-
Tamas Berghammer authored
The underlying type of wchar_t is not defined by the standard. This CL add logic to correctly use the type specified for the current target based on TargetInfo. llvm-svn: 233795
-
- Mar 31, 2015
-
-
Tamas Berghammer authored
A char can have signed and unsigned encoding but previously lldb always assumed it is signed. This CL adds a logic to detect the encoding of 'char' types based on the default encoding on the target architecture. It fixes variable printing and expression evaluation on architectures where 'char' is signed by default. Differential revision: http://reviews.llvm.org/D8636 llvm-svn: 233682
-
- Mar 24, 2015
-
-
Zachary Turner authored
Since ClangASTSource::layoutRecordType() was overriding a virtual function in the base, this was inadvertently causing a new method to be introduced rather than an override. To fix this all method signatures are changed back to taking DenseMaps, and the `override` keyword is added to make sure this type of error doesn't happen again. To keep the original fix intact, which is that fields and bases must be added in offset order, the ImportOffsetMap() function now copies the DenseMap into a vector and then sorts the vector on the value type (e.g. the offset) before iterating over the sorted vector and inserting the items. llvm-svn: 233099
-