- Aug 03, 2011
-
-
Enrico Granata authored
llvm-svn: 136791
-
Enrico Granata authored
testing for a previous issue where formats in summaries where not enforced in all cases ; removed an unused local variable llvm-svn: 136785
-
Sean Callanan authored
current context. Previously, if there was a variable called "self" available, the expression parser assumed it was inside a method. But class methods in Objective-C also take a "self" parameter, of DWARF type "id". We now detect this properly, and only assume we're in an instance method if "self" is a pointer to an Objective-C object. llvm-svn: 136784
-
Johnny Chen authored
Fixed an issue of wrong (by +2) branch target calculation in the disassembler's symbolic information output. A8.6.23 BLX (immediate T2) Target Address = Align(PC, 4) + offset value rdar://problem/9885678 llvm-svn: 136766
-
Greg Clayton authored
The entire .a file gets cached, and after the first .o file gets loaded, a cached version would get used when trying to extract the skinny slice from a fat BSD archive and would cause a code path to get taken in the BSD archive parser even if we aren't at a BSD archive offset. llvm-svn: 136765
-
Enrico Granata authored
Fixed an issue where the KVO swizzled type would be returned as the dynamic type instead of the actual user-level type - see the test case in lang/objc/objc-dynamic-value for an example Objective-C dynamic type lookup now works for every Objective-C type - previously, true dynamic lookup was only performed for type id llvm-svn: 136763
-
Johnny Chen authored
expr ptr[i]->point.x Radar to be filed. llvm-svn: 136760
-
Greg Clayton authored
only when the executable is set. llvm-svn: 136758
-
Jim Ingham authored
have initialized our shared library state, discard all the modules that didn't make it into the running process. llvm-svn: 136755
-
Jim Ingham authored
llvm-svn: 136754
-
Greg Clayton authored
was previously using the entire frame variable list instead of using the in scope variable list. I added a new function to a stack frame: lldb::VariableListSP StackFrame::GetInScopeVariableList (bool get_file_globals); This gets only variables that are in scope and they will be ordered such that the variables from the current scope are first. llvm-svn: 136745
-
Jason Molenda authored
object on successful adding of a module. llvm-svn: 136744
-
Enrico Granata authored
bug fix in SBValue::CreateValueFromAddress() where using the resulting VO as a pointer would crash LLDB ; minor improvements in dynamic formatters lookup llvm-svn: 136743
-
Johnny Chen authored
Modify lldbbench.py so that lldbtest.line_number() utility function is available to BenchBase client as just line_number(), and modify lldbtest.py so that self.lldbExec (the full path for the 'lldb' executable) is available to BenchBase client as well. An example run of the test case on my MacBook Pro running Lion: 1: test_compare_lldb_to_gdb (TestRepeatedExprs.RepeatedExprsCase) Test repeated expressions with lldb vs. gdb. ... lldb_avg: 0.204339 gdb_avg: 0.205721 lldb_avg/gdb_avg: 0.993284 ok llvm-svn: 136740
-
Sean Callanan authored
appropriately between C++ static methods and non-static methods. This bug made it impossible to call most static methods, either because Clang did not recognize that a method could be called without providing a "this" parameter, or because Clang did not properly mangle the name of the method when searching for it in the target. Also added a testcase. llvm-svn: 136733
-
- Aug 02, 2011
-
-
Johnny Chen authored
I did not take the patch for ClangExpressionParser.cpp since there was a recent change by Peter for the same line. Feel free to disagree. :-) Reference: ---------------------------------------------------------------------- r136580 | pcc | 2011-07-30 15:42:24 -0700 (Sat, 30 Jul 2011) | 3 lines Add reloc arg to standard JIT createJIT() Fixes non-__APPLE__ build. Patch by Matt Johnson! ---------------------------------------------------------------------- Also, I ignore the part of the patch to remove the RegisterContextDarwin*.h/.cpp. llvm-svn: 136720
-
Greg Clayton authored
llvm-svn: 136713
-
Enrico Granata authored
Fixed a bug where a variable could not be formatted in a summary if its datatype already had a custom format Fixed a bug where Objective-C variables coming out of the expression parser could crash the Python synthetic providers: - expression parser output has a "frozen data" component, which is a byte-exact copy of the value (in host memory), if trying to read into memory based on the host address, LLDB would crash. we are now passing the correct (target) pointer to the Python code Objective-C "id" variables are now formatted according to their dynamic type, if the -d option to frame variable is used: - Code based on the Objective-C 2.0 runtime is used to obtain this information without running code on the target llvm-svn: 136695
-
Johnny Chen authored
llvm-svn: 136666
-
Johnny Chen authored
Stopwatch (self.swatch) within the BenchBase's setUp() instance method to be available to all the child classes. Use self.swatch to measure elapsed time in TestRepeatedExprs.py, which needs to be modified later on to actually measure repeated expression evaluations within the context of lldb as well as gdb. llvm-svn: 136664
-
- Aug 01, 2011
-
-
-
-
Johnny Chen authored
Modify the example TestRepeatedExprs.py to use BenchBase, instead. llvm-svn: 136649
-
Sean Callanan authored
caused functions that were cast as part of the call to have that cast ignored once their addresses were resolved. Notably, in the case of objc_msgSend(), if the function was cast from something returning i8* to something returning i8, the expression parser was discarding the cast as part of its resolution. This caused crashes later on. llvm-svn: 136648
-
Johnny Chen authored
llvm-svn: 136641
-
Johnny Chen authored
while its API clients remain unchanged. The new lldbtest.Base class is to capture common behaviors when working with the test driver to accomplish things. The clients of lldbtest.Base can be lldb command line and api tests as well as other generic tests like a benchmark test. llvm-svn: 136636
-
Johnny Chen authored
rdar://problem/9673664 llvm-svn: 136633
-
Sean Callanan authored
scratch AST context before attempting to parse. llvm-svn: 136631
-
Sean Callanan authored
treated as externals, causing problems when we tried to look their locations up in the debug info. For example: expr char c[] = "foo"; c[0] would terminate when trying to find c in the debug information, despite the fact that c was defined inside the expression. llvm-svn: 136629
-
Greg Clayton authored
llvm-svn: 136626
-
Greg Clayton authored
plug-in folder. llvm-svn: 136625
-
Sean Callanan authored
llvm-svn: 136622
-
Greg Clayton authored
llvm-svn: 136606
-
- Jul 31, 2011
-
-
Peter Collingbourne authored
Fixes non-__APPLE__ build. Patch by Matt Johnson! llvm-svn: 136580
-
Greg Clayton authored
work to be done. llvm-svn: 136579
-
Greg Clayton authored
llvm-svn: 136578
-
- Jul 30, 2011
-
-
Sean Callanan authored
completes the support in the LLDB expression parser for incomplete types. Clang now imports types lazily, and we complete those types as necessary. Changes include: - ClangASTSource now supports three APIs which it passes to ClangExpressionDeclMap. CompleteType completes a TagDecl or an ObjCInterfaceDecl when needed; FindExternalVisibleDecls finds named entities that are visible in the expression's scope; and FindExternalLexicalDecls performs a (potentially restricted) search for entities inside a lexical scope like a namespace. These changes mean that entities in namespaces should work normally. - The SymbolFileDWARF code for searching a context for a specific name is now more general, and can search arbitrary contexts. - We are continuing to adapt our calls into LLVM from interfaces that take start and end iterators when accepting multiple items to interfaces that use ArrayRef. - I have cleaned up some code, especially our use of namespaces. This change is neutral for our testsuite and greatly improves correctness for large programs (like Clang) with complicated type systems. It should also lay the groundwork for improving the expression parser's performance as we are lazier and lazier about providing type information. llvm-svn: 136555
-
Greg Clayton authored
we have a nil NSString *. Also added blank lines between functions in the CFString.py files. llvm-svn: 136554
-
Johnny Chen authored
The test driver now takes an option "+b" which enables to run just the benchmarks tests. By default, tests decorated with the @benchmarks_test decorator do not get run. Add an example benchmarks test directory which contains nothing for the time being, just to demonstrate the @benchmarks_test concept. For example, $ ./dotest.py -v benchmarks ... ---------------------------------------------------------------------- Collected 2 tests 1: test_with_gdb (TestRepeatedExprs.RepeatedExprssCase) Test repeated expressions with gdb. ... skipped 'benchmarks tests' 2: test_with_lldb (TestRepeatedExprs.RepeatedExprssCase) Test repeated expressions with lldb. ... skipped 'benchmarks tests' ---------------------------------------------------------------------- Ran 2 tests in 0.047s OK (skipped=2) $ ./dotest.py -v +b benchmarks ... ---------------------------------------------------------------------- Collected 2 tests 1: test_with_gdb (TestRepeatedExprs.RepeatedExprssCase) Test repeated expressions with gdb. ... running test_with_gdb benchmarks result for test_with_gdb ok 2: test_with_lldb (TestRepeatedExprs.RepeatedExprssCase) Test repeated expressions with lldb. ... running test_with_lldb benchmarks result for test_with_lldb ok ---------------------------------------------------------------------- Ran 2 tests in 0.270s OK Also mark some Python API tests which are missing the @python_api_test decorator. llvm-svn: 136553
-
Greg Clayton authored
llvm-svn: 136551
-