d387b462eecb908af265ecc7006781b4532073ad |
|
19-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
Fixed some linux buildbot warnings. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
edb83a59994efc8fe9f942f976dc355b74178f5a |
|
03-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix build. This should fix the build breakage caused by the api change in 178663. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
952e9dc874944fcdbbb224f3ec4fc2c859376f64 |
|
28-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13521159> LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down. All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
017c16aa483e6edabdbbee1bdcd1ce3f8e8a12d1 |
|
27-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
Don't use a "uintptr_t" for the metadata key, use a "void *". This removes all of the casts that were being used and cleans the code up a bit. Also added the ability to dump the metadata. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
79e9f965938ec5766b9caedfa85262ecb603c453 |
|
12-Feb-2013 |
Sean Callanan <scallanan@apple.com> |
Made LLDB build with the latest Clang. This meant changing the ClangASTSource to return a bool instead of returning a list of results. Our testsuite mostly works with this change, but some minor issues may remain both on LLDB's side and on Clang's side. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
ca8fb173fa66d9c93e02c4abfd4627c143795653 |
|
21-Dec-2012 |
Sean Callanan <scallanan@apple.com> |
Made LLDB compile with LLVM top-of-tree again. The results from Clang name lookups changed to be ArrayRefs, so I had to change the way we check for the presence of a result and the way we iterate across results. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
282c22c6a6b6e54324b0d474b90d918bbfd3a10e |
|
20-Dec-2012 |
Sean Callanan <scallanan@apple.com> |
This patch removes the SymbolFileSymtab support for reporting class types from Objective-C runtime class symbols. Instead, LLDB now queries the Objective-C runtime for class types. We have also added a (minimal) Objective-C runtime type vendor for Objective-C runtime version 1, to prevent regressions when calling class methods in the V1 runtime. Other components of this fix include: - We search the Objective-C runtime in a few more places. - We enable enumeration of all members of Objective-C classes, which Clang does in certain circumstances. - SBTarget::FindFirstType and SBTarget::FindTypes now query the Objective-C runtime as needed. - I fixed several test cases. <rdar://problem/12885034> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
b9db9d5bb01963774f28540dbe2c5a11f586ff29 |
|
07-Dec-2012 |
Daniel Malea <daniel.malea@intel.com> |
Fix a few more clang (3.2) warnings on Linux: - remove unused members - add NO_PEDANTIC to selected Makefiles - fix return values (removed NULL as needed) - disable warning about four-char-constants - remove unneeded const from operator*() declaration - add missing lambda function return types - fix printf() with no format string - change sizeof to use a type name instead of variable name - fix Linux ProcessMonitor.cpp to be 32/64 bit friendly - disable warnings emitted by swig-generated C++ code Patch by Matt Kopec! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
25b2109486963038a436bdb82fd327a6e5bb8d6d |
|
04-Dec-2012 |
Daniel Malea <daniel.malea@intel.com> |
A few more build fixes for gcc 4.6: - use const char* instead of char* as needed in ObjC language runtime plugin - use int to iterate through enum (operator++ on enum not defined) - use initializer list instead of inline initialization of const field git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
5f35a4be95aed0e5b2cb36f7d785bcbfc67284ae |
|
29-Nov-2012 |
Daniel Malea <daniel.malea@intel.com> |
Resolve printf formatting warnings on Linux: - use macros from inttypes.h for format strings instead of OS-specific types Patch from Matt Kopec! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
6ecafc737e5c2b61e3e4ce34ac81609569a4d083 |
|
29-Nov-2012 |
Sean Callanan <scallanan@apple.com> |
Don't return decorated (i.e., const or pointer) versions of UnknownAnyTy for ObjectiveC value types. <unknown type>* makes no sense and can cause the parser to behave very oddly. <rdar://problem/12518999> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
d27e543e9c5f81ef1288afbc9e48de2da5976a8a |
|
15-Nov-2012 |
Sean Callanan <scallanan@apple.com> |
In cases where the Objective-C ivar symbols are stripped out, expressions that refer to ivars will not work because Clang emits IR that refers to them to get the ivar offsets. However, it is possible to search the runtime for these values. I have added support for reading the relevant tables to the Objective-C runtime, and extended ClangExpressionDeclMap to query that information if and only if it doesn't find the symbols in the binary. Also added a testcase. <rdar://problem/12628122> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
499222ad8bced17ad5ec72224d313b30224767a9 |
|
07-Nov-2012 |
Sean Callanan <scallanan@apple.com> |
Logging improvements for the Objective-C runtime. Also fixed a bug where the Objective-C runtime would not properly report that it found a class if (a) it had to build the ObjCInterfaceDecl for the class and (b) logging was enabled. <rdar://problem/12641180> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
a32c5a5aa1fec0f9bc2a5b123f07ff6b8c979999 |
|
27-Oct-2012 |
Jim Ingham <jingham@apple.com> |
This is the first phase of supporting the DW_AT_object_pointer tag. I expanded the decl metadata so it could hold this information, and then used it to look up unfound names in the object pointer if it exists. This gets "frame var" to work for unqualified references to ivars captured in blocks. But the expression parser is ignoring this information still. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
4702d432baf10b143adf0256469f8c77b1c19067 |
|
29-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Now in the presence of an Objective-C version 2 runtime, we read method signatures for both class and instance methods out of the runtime data. (lldb) fr var str (NSString *) str = 0x0000000105000180 @"Hello from '/Volumes/Data/projects/lldb/test/lang/objc/foundation/a.out'" (lldb) expr str.length (unsigned long long) $0 = 72 (lldb) expr [NSString stringWithCString:"Hello world!" encoding:1] (id) $1 = 0x0000000105100050 (lldb) po $1 $1 = 0x0000000105100050 Hello world! (lldb) fr var array1 (NSArray *) array1 = 0x000000010010a6e0 @"3 objects" (lldb) expr array1.count (unsigned long long) $0 = 3 (lldb) expr [array1 objectAtIndex:2] (id) $1 = 0x00000001000025d0 (lldb) po $1 $1 = 0x00000001000025d0 array1 object3 Notice that both regular and property-style notation work. I still need to add explicit support for properties with non-default setters/getters. This information is only queried if an Objective-C object does not have debug information for a complete type available. Otherwise we query debug information as usual. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
d7a2da512b706278ab99a47b5939ee4cd64abcd8 |
|
28-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Fixed a bug where if something went wrong while constructing the ObjCInterfaceDecl for an ISA, we'd continue and try to use that Decl anyway, possibly causing a crash. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
d123b989d453c70244b04d4c9ef7792214e9010a |
|
28-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Improved the runtime reading to also get data out of the metaclass, so as to enumerate class methods for an object. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
2a5ca48974884c1344e3eff4a60ae63e05fa8ea7 |
|
27-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Fixed some bugs in the runtime reader code. Also added a parser for method signatures in the Objective-C @encode format. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
d83ecab0aeb229504737e34b2f03c07fcb967480 |
|
20-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
More work for reading the Objective-C runtime. We can now read the relevant data structures for the method list, and use a callback mechanism to report their details to the AppleObjCTypeVendor, which constructs appropriate Clang types. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
c3b0aa959395671385aa1f4c8201d8a484079f1d |
|
19-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Updated AppleObjCV2Runtime to load the class data structures more rapidly. Also added fields for the other data structures in a class. I also fixed a problem where I accidentally used hasExternalLexicalStorage() instead of hasExternalVisibleStorage() to mark an incomplete object. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
81a5a09e76cfc1f110c0416e372f9f6cc27d79cf |
|
18-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Objective-C runtime class descriptors can now populate Clang ObjCInterfaceDecls with their ivars, methods, and properties. The default implementation does nothing. I have also made sure that AppleObjCRuntimeV2 creates ObjCInterfaceDecls that actually get queried appropriately. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|
c718b9652bb1a7aea5d133123fcc8bc87277002c |
|
11-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
This patch is part of ongoing work to extract type information from the Objective-C runtime. This patch takes the old AppleObjCSymbolVendor and replaces it with an AppleObjCTypeVendor, which is much more lightweight. Specifically, the SymbolVendor needs to pretend that there is a backing symbol file for the Types it vends, whereas a TypeVendor only vends bare ClangASTTypes. These ClangASTTypes only need to exist in an ASTContext. The ClangASTSource now falls back to the runtime's TypeVendor (if one exists) if the debug information doesn't find a complete type for a particular Objective-C interface. The runtime's TypeVendor maintains an ASTContext full of types it knows about, and re-uses the ISA-based type query information used by the ValueObjects. Currently, the runtime's TypeVendor doesn't provide useful answers because we haven't yet implemented a way to iterate across all ISAs contained in the target process's runtime. That's the next step. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeVendor.cpp
|