summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* Updating Xcode project version numbers for lldb-100 and debugserver-159Sean Callanan2011-12-223-22/+22
| | | | llvm-svn: 147193
* Added checking to prevent a rare crash when gettingSean Callanan2011-12-221-5/+13
| | | | | | the name for an external variable in the IR. llvm-svn: 147178
* Decorate the two test cases in TestReturnValue.py as i386 only ↵Johnny Chen2011-12-222-0/+23
| | | | | | expectedFailure, aka @expectedFailurei386. llvm-svn: 147177
* Indentation.Johnny Chen2011-12-221-1/+1
| | | | llvm-svn: 147172
* Patches for running some of the Linux tests from Dawn, thanks!Johnny Chen2011-12-223-2/+17
| | | | | | With some minor modification from me. llvm-svn: 147160
* Improve the x86_64 return value decoder to handle most structure returns.Jim Ingham2011-12-2219-267/+887
| | | | | | | | Switch from GetReturnValue, which was hardly ever used, to GetReturnValueObject which is much more convenient. Return the "return value object" as a persistent variable if requested. llvm-svn: 147157
* Add check for non-NULL Variable with a NULL Type.Jim Ingham2011-12-221-1/+6
| | | | llvm-svn: 147149
* Made IRForTarget error out correctly when it can'tSean Callanan2011-12-211-1/+2
| | | | | | complete the result type, preventing crashes later. llvm-svn: 147107
* The "desired result type" code in the expressionSean Callanan2011-12-2118-39/+125
| | | | | | | | | | | | | | | | | | | | | | parser has hitherto been an implementation waiting for a use. I have now tied the '-o' option for the expression command -- which indicates that the result is an Objective-C object and needs to be printed -- to the ExpressionParser, which communicates the desired type to Clang. Now, if the result of an expression is determined by an Objective-C method call for which there is no type information, that result is implicitly cast to id if and only if the -o option is passed to the expression command. (Otherwise if there is no explicit cast Clang will issue an error. This behavior is identical to what happened before r146756.) Also added a testcase for -o enabled and disabled. llvm-svn: 147099
* I accidentally committed some changes to theSean Callanan2011-12-214-26/+8
| | | | | | | Xcode workspace that aren't actually desirable. Reverted. llvm-svn: 147097
* Fix wrong test method name.Johnny Chen2011-12-211-1/+1
| | | | llvm-svn: 147072
* Updating Xcode project version numbers for lldb-99 and debugserver-158Sean Callanan2011-12-213-22/+22
| | | | llvm-svn: 147061
* Bump version number past lldb-98.Jason Molenda2011-12-212-16/+16
| | | | llvm-svn: 147033
* Tightened Clang against a bug in which RecordDeclsSean Callanan2011-12-215-8/+40
| | | | | | | | with incomplete definition data were being converted. Now Clang attempts to complete RecordDecls before converting them, avoiding a nasty crash. llvm-svn: 147029
* Fixed a bug in the ASTImporter that affectsSean Callanan2011-12-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | types that have been imported multiple times. The discussion below uses this diagram: ASTContext A B C Decl Da Db Dc ASTImporter \-Iab-/\-Iac-/ \-----Iac----/ When a Decl D is imported from ASTContext A to ASTContext B, the ASTImporter Iab records the pair <Da, Db> in a DenseMap. That way, if Iab ever encounters Da again (for example, as the DeclContext for another Decl), it can use the imported version. This is not an optimization, it is critical: if I import the field "st_dev" as part of importing "struct stat," the field must have DeclContext equal to the parent structure or we end up with multiple different Decls containing different parts of "struct stat." "struct stat" is imported once and recorded in the DenseMap; then the ASTImporter finds that same version when looking for the DeclContext of "st_dev." The bug arises when Db is imported into another ASTContext C and ASTContext B goes away. This often occurs when LLDB produces result variables for expressions. Ibc is aware of the transport of Db to Dc, but a brand new ASTImporter, Iac, is responsible for completing Dc from its source upon request. That ASTImporter has no mappings, so it will produce a clone of Dc when attempting to import its children. That means that type completion operations on Dc will fail. The solution is to create Iac as soon as Ibc imports D from B to C, and inform Iac of the mapping between Da and Dc. This allows type completion to happen correctly. llvm-svn: 147016
* Updating Xcode project version numbers for lldb-97 and debugserver-157Sean Callanan2011-12-203-22/+22
| | | | llvm-svn: 146978
* Properly name the test class as well as the test methods.Johnny Chen2011-12-201-3/+3
| | | | llvm-svn: 146957
* Properly name the test class as well as the test methods.Johnny Chen2011-12-201-3/+3
| | | | llvm-svn: 146956
* Work in progress for:Johnny Chen2011-12-202-2/+9
| | | | | | | | | rdar://problem/10577182 Audit lldb API impl for places where we need to perform a NULL check Add a NULL check for SBValue.CreateValueFromExpression(). llvm-svn: 146954
* Work in progress for:Johnny Chen2011-12-202-1/+8
| | | | | | | | | rdar://problem/10577182 Audit lldb API impl for places where we need to perform a NULL check Add a NULL check for SBTarget.AttachToProcessWithName() so it will not hang. llvm-svn: 146948
* Remove dead code found.Johnny Chen2011-12-201-7/+0
| | | | llvm-svn: 146936
* Add fuzz call to SBStringList.AppendString(None). LLDB should not crash.Johnny Chen2011-12-201-0/+1
| | | | llvm-svn: 146935
* Work in progress for:Johnny Chen2011-12-202-1/+7
| | | | | | | | | rdar://problem/10577182 Audit lldb API impl for places where we need to perform a NULL check Add NULL checks for SBStream APIs. llvm-svn: 146934
* Minor format update (no semantic change).Johnny Chen2011-12-201-2/+2
| | | | llvm-svn: 146930
* Add test_frame_api_boundary_condition() test case to exercise a bunch of ↵Johnny Chen2011-12-191-0/+42
| | | | | | boundary condition inputs. llvm-svn: 146924
* Add a test sequence which passes None to lldb.SBFileSpec(). LLDB should not ↵Johnny Chen2011-12-191-0/+6
| | | | | | crash. llvm-svn: 146922
* Tes passing None to SetErrorString() and SetErrorStringWithFormat().Johnny Chen2011-12-191-0/+2
| | | | llvm-svn: 146919
* Work in progress for:Johnny Chen2011-12-192-3/+41
| | | | | | | | | rdar://problem/10577182 Audit lldb API impl for places where we need to perform a NULL check Add NULL checks for SBDebugger APIs. llvm-svn: 146917
* Add a fuzz call for SBCommunication: obj.connect(None).Johnny Chen2011-12-191-0/+1
| | | | llvm-svn: 146912
* Work in progress for:Johnny Chen2011-12-192-1/+18
| | | | | | | | | rdar://problem/10577182 Audit lldb API impl for places where we need to perform a NULL check Add NULL checks for SBCommandReturnObject.AppendMessage(). llvm-svn: 146911
* Work in progress for:Johnny Chen2011-12-192-4/+10
| | | | | | | | | rdar://problem/10577182 Audit lldb API impl for places where we need to perform a NULL check Add NULL checks for SBCommandInterpreter APIs. llvm-svn: 146909
* Add needed Clear methods.Jim Ingham2011-12-199-1/+37
| | | | | | <rdar://problem/10596340> llvm-svn: 146902
* Work in progress for:Johnny Chen2011-12-193-8/+51
| | | | | | | | | rdar://problem/10577182 Audit lldb API impl for places where we need to perform a NULL check Add NULL checks for SBModule and SBSection APIs. llvm-svn: 146899
* Added some strength to the checks that preventSean Callanan2011-12-194-3/+87
| | | | | | | | | | | "id" from being found by the parser as an externally-defined type. Before, "id" would sometimes make it through if it was defined in a namespace, but this sometimes caused confusion, for example when it conflicted with std::locale::id. llvm-svn: 146891
* Fix Python docstring for SBThread.GetStopDescription().Johnny Chen2011-12-192-1/+5
| | | | llvm-svn: 146890
* Fixed code rot pointed out by Jim.Johnny Chen2011-12-173-6/+4
| | | | | | SBThread::GetStopReasonDataCount/GetStopReasonDataAtIndex() need to handle eStopReasonWatchpoint. llvm-svn: 146812
* Added a version of the LLVM/Clang checkout andSean Callanan2011-12-171-0/+73
| | | | | | | build script that applies any local patches to LLVM/Clang. llvm-svn: 146811
* Updating Xcode project version numbers for LLDB-96Sean Callanan2011-12-173-22/+22
| | | | | | and debugserver-156. llvm-svn: 146808
* Add the ability to capture the return value in a thread's stop info, and ↵Jim Ingham2011-12-1722-40/+316
| | | | | | | | | | | | | print it as part of the thread format output. Currently this is only done for the ThreadPlanStepOut. Add a convenience API ABI::GetReturnValueObject. Change the ValueObject::EvaluationPoint to BE an ExecutionContextScope, rather than trying to hand out one of its subsidiary object's pointers. That way this will always be good. llvm-svn: 146806
* Modified LLDB to be able to handle our updated __apple_types accelerator tablesGreg Clayton2011-12-171-47/+39
| | | | | | which have the dwarf DIE tag (DW_TAG_XXX enum) and TypeFlags for each type. llvm-svn: 146802
* I have added a new patch to LLVM that makes theSean Callanan2011-12-171-0/+199
| | | | | | | | | | | enhanced disassembler classify disassemblers by target triple (as a string) rather than just by the architecture component of the triple. This fixes a problem where different variants of the Thumb instruction set were lumped into the same hash bucket. llvm-svn: 146799
* Remove an unnecessary #include.Jim Ingham2011-12-171-1/+0
| | | | llvm-svn: 146798
* Make the objc-dynamic-value test a little trickier (still passes) and test ↵Jim Ingham2011-12-162-1/+11
| | | | | | the GetDynamicValue API. llvm-svn: 146777
* http://llvm.org/bugs/show_bug.cgi?id=11588Johnny Chen2011-12-1610-5/+219
| | | | | | | | | | | | | valobj.AddressOf() returns None when an address is expected in a SyntheticChildrenProvider Patch from Enrico Granata: The problem was that the frozen object created by the expression parser was a copy of the contents of the StgClosure, rather than a pointer to it. Thus, the expression parser was correctly computing the result of the arithmetic&cast operation along with its address, but only saving it in the live object. This meant that the frozen copy acted as an address-less variable, hence the problem. The fix attached to this email lets the expression parser store the "live address" in the frozen copy of the address when the object is built without a valid address of its own. Doing so, along with delegating ValueObjectConstResult to calculate its own address when necessary, solves the issue. I have also added a new test case to check for regressions in this area, and checked that existing test cases pass correctly. llvm-svn: 146768
* Updated Clang to take an enhancement to the waySean Callanan2011-12-167-16/+81
| | | | | | | | | | | | | | we handle Objective-C method calls. Currently, LLDB treats the result of an Objective-C method as unknown if the type information doesn't have the method's signature. Now Clang can cast the result to id if it isn't explicitly cast. I also added a test case for this, as well as a fix for a type import problem that this feature exposed. llvm-svn: 146756
* Handle all of the "thumb" target triple architecture variants that llvmGreg Clayton2011-12-163-4/+34
| | | | | | handles. llvm-svn: 146746
* When we're unwinding out of frame 0 and we end up with a bogus frameJason Molenda2011-12-162-8/+67
| | | | | | | | | | | | | | | | | | | | | | | | 1 -- an address pointing off into non-executable memory -- don't abort the unwind. We'll use the ABI's default UnwindPlan to try to get out of frame 1 and on many platforms with a standard frame chain stack layout we can get back on track and get a valid frame 2. This preserves the lldb behavior to-date; the change last week to require the memory region to be executable broke it. I'd like to mark this frame specially when displayed to the user; I tried to override the places where the frame's pc value is returned to change it to a sentinel value (e.g. LLDB_INVALID_ADDRESS) but couldn't get that to work cleanly so I backed that part out for now. When this happens we'll often miss one of the user's actual frames, the one that's of most interest to the user, so I'd like to make this visually distinctive. Note that a frame in non-executable memory region is only allowed for frame 1. After that we should be solid on the unwind and any pc address in non-executable memory indicates a failure and we should stop unwinding. llvm-svn: 146723
* Simplify the setup leading to the testing of ReadMemory(), ↵Johnny Chen2011-12-161-25/+7
| | | | | | | | | ReadCStringFromMemory(), and ReadUnsignedFromMemory(). Instead of getting the location of the variable and converting the hex string to an int, just use val.AddressOf().GetValueAsUnsigned() to compute the address of the memory region to read from. llvm-svn: 146719
* Remove unnecessary #include.Jim Ingham2011-12-162-5/+1
| | | | llvm-svn: 146717
* Add a test sequence of SBProcess.ReadCStringFromMemory() with (char ↵Johnny Chen2011-12-162-0/+14
| | | | | | | | *)my_char_ptr as the address to read from. char *my_char_ptr = (char *)"Does it work?"; llvm-svn: 146716
OpenPOWER on IntegriCloud