1e68e88fd56c6a617058cb5807042587724b5db9 |
|
12-Jul-2013 |
Greg Clayton <gclayton@apple.com> |
Unblock buildbot. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
52f792329be5db8e38961350589e97e8f2823acd |
|
12-Jul-2013 |
Greg Clayton <gclayton@apple.com> |
Huge change to clean up types. A long time ago we start with clang types that were created by the symbol files and there were many functions in lldb_private::ClangASTContext that helped. Later we create ClangASTType which contains a clang::ASTContext and an opauque QualType, but we didn't switch over to fully using it. There were a lot of places where we would pass around a raw clang_type_t and also pass along a clang::ASTContext separately. This left room for error. This checkin change all type code over to use ClangASTType everywhere and I cleaned up the interfaces quite a bit. Any code that was in ClangASTContext that was type related, was moved over into ClangASTType. All code that used these types was switched over to use all of the new goodness. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
2f3daef19e4653c075ffcf16a2eb2e64d0380001 |
|
28-Jun-2013 |
Greg Clayton <gclayton@apple.com> |
Default parameters are evil and should not be used. Case and point this checkin that fixes implicit conversions that were happening. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
0a5dfb9a528ece2c3e15eedaebf7f49b4f6f1ae7 |
|
20-Jun-2013 |
Greg Clayton <gclayton@apple.com> |
Fixed a crasher that I encountered when looking up a virtual base class offset. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
3e11c7ec050648ba865f1d451f8cb46fd39072a8 |
|
19-Jun-2013 |
Andy Gibbs <andyg1001@hotmail.co.uk> |
Sort out a number of mismatched integer types in order to cut down the number of compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b267bbd4df154a360bdb5ac0aedc5d2503740f9d |
|
19-Jun-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/14194140> Adding support for correctly extracting children out of vector types for data formatter purposes git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8c3391ba76c5e3440a0cc10296dbde1b44300509 |
|
19-Jun-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/14194128> ClangASTContext was failing to retrieve fields and base class info for ObjC variables This checkin fixes that and adds a test case git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a9dc882693ef65ee3657b96f018fec3685d37282 |
|
11-Jun-2013 |
Greg Clayton <gclayton@apple.com> |
Use llvm::APFloat for formatting if a target is available. Each target when debugging has a "ASTContext" that helps us to use the correct floating point semantics. Now that APFloat supports toString we now use that. If we don't have a target, we still fall back on the old display methodology, but the important formatting should always have a target available and thus use the compiler floating point code. Modified the test programs to use floating point constants that always will display correctly. We had some numbers that were being rounded, and now that we are using clang, we no longer round them and we get more correct results. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
efc7e55e58ee54ffda4b8d95add7918291236e80 |
|
02-May-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/13338477> clang sugarcoats expressions of the sort *(int (*)[3])foo where foo is an int* saying that their type class is Paren This checkin updates our lookup tables to properly desugar Paren into the actual type of interest git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
bb53fe5b67c9f5d9ee7ad278913f8d2c65bdde02 |
|
02-May-2013 |
Sean Callanan <scallanan@apple.com> |
Make our eliding of artificially-generated methods in debug information more aggressive. Emitting classes containing these methods causes crashes in Clang when dealing with complex code bases. <rdar://problem/12640887> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f62ba43d6ce64bd3aee100f86c775784f94149dd |
|
01-May-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13776113> Dynamic type resolution not working for typedef's such as the __ptr_ member in the C++11 std::shared_ptr. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
756bed4c6e6c58bf9ba7bc7bb40065b9c394a426 |
|
30-Apr-2013 |
Sean Callanan <scallanan@apple.com> |
Fixed completion of incomplete array types, fixing an assertion if we attempted to get the size of one. <rdar://problem/13748253> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
764bca576e78c9bbfb01894cc4d96e96830c77f1 |
|
24-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13298695> Fixed LLDB to be able to correctly parse template parameters that have no name and no type. This can be triggered by the following LLVM/Clang code: template <typename T, typename = void> class SmallVectorTemplateCommon : public SmallVectorBase { The “typename = void” was emitting DWARF with an empty DW_AT_name and no DW_AT_type. We now correctly infer that no DW_AT_type means “void” and that an empty name is ok. This means you can now call functions on things that inherit from SmallVectorTemplateCommon. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
4cdf70573e36822242d131c10f6317d945c044e6 |
|
17-Apr-2013 |
Ashok Thirumurthi <ashok.thirumurthi@intel.com> |
Fix for regression in TestCPPStaticMethods.py due to refactoring in clang. - Specify SC_Static given DIE attributes for static methods and operators. Thanks to Wei Pan for his review and the help with root-causing. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
3525576f2cddc2a7b82b2bec3fd885ef6b1b5a52 |
|
11-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
Static variables inside classes were not being added to the RecordDecl, now they are. This gets us closer to being able to display static variables in classes. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f95fc9e09fa0a32de0a3904a1517266df37e8bff |
|
06-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
Added support "__attribute__((__vector_size__(B)))" and "__attribute__((ext_vector_type(N)))". Now we can: 1 - see the return value for functions that return types that use the "ext_vector_size" 2 - dump values that use the vector attributes ("expr $ymm0") 3 - modified the DWARF parser to correctly parse GNU vector types from the DWARF by turning them into clang::Type::ExtVector types instead of just standard arrays git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.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/Symbol/ClangASTContext.cpp
|
f85902c1ccc95b6e97b6d818243047992f79c4f3 |
|
30-Mar-2013 |
Sean Callanan <scallanan@apple.com> |
Elide all artificial copy constructors, because they are probably trivial. This means that we don't confuse Clang about whether a class is trivially copy constructible. It can figure that out itself as long as we don't explicitly feed it the constructors. If the class is trivially copy-constructible, this can change the ABI that Clang uses to call functions that return that class (e.g., by making the object be returned in a register), so this is quite important for correctness. <rdar://problem/13457741> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.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/Symbol/ClangASTContext.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/Symbol/ClangASTContext.cpp
|
3dc2a5b732ae161b8ae51d376a8f0060a7d9e2a8 |
|
20-Mar-2013 |
Enrico Granata <egranata@apple.com> |
Cleanup to the ObjC runtime to remove the now useless ClassDescriptor_Invalid git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
cc5d27417b9f958d596a438290a9adb17674b487 |
|
19-Mar-2013 |
Enrico Granata <egranata@apple.com> |
The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector and std::map as provided by libc++ are now written in C++ instead of Python std::deque is still in Python but is much less commonly used git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a924b19df4a1b41206839e275383c0f43a4c5940 |
|
16-Mar-2013 |
Enrico Granata <egranata@apple.com> |
Performance improvements to the IsObjCNil () - we only try to resolve the value if the variable under consideration truly is an “Objective-C thing” This also changes the ClangASTContext to make sure that id is correctly marked as being such an ObjC thing git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
fe6dc6e241c52822710380cec0931351a1d7b2d3 |
|
14-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13421412> Many "byte size" members and variables were using a mixture of uint32_t and size_t. Switching over to using uint64_t everywhere. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d9c7d40d73a47581ed3ca06eb7282dc7a353b46e |
|
12-Mar-2013 |
Sean Callanan <scallanan@apple.com> |
Switch from CreateTypeSourceInfo, which allocates uninitialized memory, to getTrivialTypeSourceInfo, which initializes its memory, when creating trivial TypeSourceInfos. <rdar://problem/13332253> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
62afa499c760c9073ae7854a9da06218b034b866 |
|
09-Mar-2013 |
Sean Callanan <scallanan@apple.com> |
Made LLDB work with the latest Clang. Also fixed an assertion due to non-implicit Objective-C methods without source locations. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
be38b451f26afc304618f4330d936298ed904ea9 |
|
08-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13374267> Fixed error where objective C methods with selectors names starting with ".cxx_" where causing errors for ARC built binaries. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9c09181404cc35f65d5353231246959135fb7684 |
|
08-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13119621> Make dynamic type detection faster by using the AST metadata to help out and allow us not to complete types when we don't need to. After running "purge" on a MacOSX system, the Xcode variables view now populates more than 3x faster with this fix. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d5e48bd4029b47cd298fd065429bb3a350a08324 |
|
06-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13341472> LLDB wasn't printing the names for negative enums. Fixed the signed extraction of enumerators and how they were registered with clang's type system. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
874378dfa01edbc46818ed1be1a2de2950ff984f |
|
19-Feb-2013 |
Sean Callanan <scallanan@apple.com> |
Updated to support latest Clang option naming. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c113056f1c3cd889d772231aabd10fa99b6d4754 |
|
13-Feb-2013 |
Greg Clayton <gclayton@apple.com> |
Quiet "the missing case in switch statement" warnings from newer clang builds. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
4a58456ee1ac2b38f7e11dc04760f86afd2d80ca |
|
07-Feb-2013 |
Sean Callanan <scallanan@apple.com> |
Fixed a problem that would cause LLDB to crash if it encountered bad debug information. This debug information had an Objective-C method whose selector disagreed with the true number of arguments to that method. <rdar://problem/12992864> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
dbf2fb0d760631d86ab93cc70c3bb05a4c514263 |
|
01-Feb-2013 |
Sean Callanan <scallanan@apple.com> |
Modified the expression parser's class wrapper to support reporting "this" as a templated class. The expression parser wraps expressions in C++ methods as methods with the signature $__lldb_class::$__lldb_expr(...) and previously responded to clang's queries about $__lldb_class with the type of *this. This didn't work if *this was a ClassTemplateSpecializationDecl because ClassTemplateSpecializationDecls can't be the result of simple name queries. Instead what we do now is respond that $__lldb_class is a typedef and that the target of the typedef is the (potentially templated) type of *this. That is much more robust. Thanks to John McCall for key insights. <rdar://problem/10987183> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d0250856d5e33dcb5c60f8dcd3a5b88860608b50 |
|
01-Feb-2013 |
Greg Clayton <gclayton@apple.com> |
Get rid for switch statement warning for unhandled cases. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
36da2aa6dc5ad9994b638ed09eb81c44cc05540b |
|
25-Jan-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13069948> Major fixed to allow reading files that are over 4GB. The main problems were that the DataExtractor was using 32 bit offsets as a data cursor, and since we mmap all of our object files we could run into cases where if we had a very large core file that was over 4GB, we were running into the 4GB boundary. So I defined a new "lldb::offset_t" which should be used for all file offsets. After making this change, I enabled warnings for data loss and for enexpected implicit conversions temporarily and found a ton of things that I fixed. Any functions that take an index internally, should use "size_t" for any indexes and also should return "size_t" for any sizes of collections. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
63d67ed225f948484a73db65c3c2512211515f06 |
|
10-Jan-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/11146929> Enabling support for the wchar_t type. Without the proper language option setup, clang's ASTContexts will be configured to have wchar_t == int This patch enables the correct options to make sure that we report wchar_t as itself Added a test case to make sure we do not regress Adding files missing from the previous commit git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
19b646725e7d6bebda787fa3cb55ff223a00d907 |
|
04-Jan-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/12928282> Added SBTarget::EvaluateExpression() so expressions can be evaluated without needing a process. Also fixed many functions that deal with clang AST types to be able to properly handle the clang::Type::Elaborated types ("struct foo", "class bar"). git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c6fe581c95790f7beeda8c6fd7c8ea4b14ab95f3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Update to reflect API changes in r171367. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.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/Symbol/ClangASTContext.cpp
|
d35b7b3bfd21f4fd6b048693563eef1b772ae197 |
|
07-Dec-2012 |
Daniel Malea <daniel.malea@intel.com> |
More Linux warnings fixes (remove default labels as needed): - as per http://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations Patch by Matt Kopec! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b912457e1eb6f97d3ee3adc74d1e0f6393e35d3c |
|
06-Dec-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/12560257> Fixed zero sized arrays to work correctly. This will only happen once we get a clang that emits correct debug info for zero sized arrays. For now I have marked the TestStructTypes.py as an expected failure. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
803c3b042f19c9238825f4900a45676e1a2957f4 |
|
03-Dec-2012 |
Greg Clayton <gclayton@apple.com> |
Fix clang build issues. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b4faddef92927f6c3aa6b127b94e8763465d4563 |
|
16-Nov-2012 |
Greg Clayton <gclayton@apple.com> |
Fix lldb to compile with top of tree LLVM/clang. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9bb15b62769166095721c42396cd59c240485a20 |
|
12-Nov-2012 |
Filipe Cabecinhas <me@filcab.net> |
s/BCPLComment/LineComment/ (llvm r167690) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f270fa9682d748c1be1aea1993fd8d2408639f4c |
|
06-Nov-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/12582031> Unnamed bitfields cause struct layout problems Synthesize unnamed bitfields when required. Most compilers don't mention unnamed bitfields in the DWARF, so we need to create them to keep clang happy with the types we create from the DWARF. We currently can't do this for ObjC since the DW_AT_bit_offset value for any direct ivars of ObjC classes as the values for these attributes are bogus. A bug has been filed on Clang to fix this, and another bug has been filed on LLDB to make sure we fix the DWARF parser once the clang fix is in by looking the the DW_AT_producer in the compile unit attributes and finding the compiler version and only enabling it for newer versions of clang. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.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/Symbol/ClangASTContext.cpp
|
cbe707cf259561da16ecfd94acbd4323103036c1 |
|
25-Oct-2012 |
Sean Callanan <scallanan@apple.com> |
Updated LLDB's use of the DiagnosticsEngine to reflect a change to the initializer. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6a97d425a9bb1a137a7dcf7be90edd37d21f4dbb |
|
18-Oct-2012 |
Sean Callanan <scallanan@apple.com> |
Fixed ClangASTContext to own its TargetOptions using a reference-counted pointer. This avoids memory-management problems when the TargetOptions are deleted. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
12f1d1e9290354800560b882a5313231ff2ba58f |
|
15-Oct-2012 |
Greg Clayton <gclayton@apple.com> |
Fixed a logic error that showed up when compiling with a newer version of clang where: lldb::BasicType ClangASTContext::GetLLDBBasicTypeEnumeration (clang_type_t clang_type) would return a bogus value. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
949b7178cf48cc4cf8533c729999a6c90785773d |
|
13-Oct-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/12490588> From SBType, we can now get a lldb::BasicType enumeration out of an existing type. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
58146a9db1ab1833ee82449410acbc7c63ef865c |
|
05-Oct-2012 |
Jim Ingham <jingham@apple.com> |
ClangASTContext::GetIndexOfChildWithName - increment the child index we plan to return as we iterate through the ivars. <rdar://problem/12433299> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
06dc17f8eb821d7256fd42e56f85c2779a29f689 |
|
25-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Brought LLDB top-of-tree into sync with LLVM/Clang top-of-tree. Removed all local patches and llvm.zip. The intent is that fron now on top-of-tree will always build against LLVM/Clang top-of-tree, and that problems building will be resolved as they occur. Stable release branches of LLDB can be constructed as needed and linked to specific release branches of LLVM/Clang. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
851e30ec6a1b1d2c154bb7d69ed0d05b5fd14705 |
|
18-Sep-2012 |
Greg Clayton <gclayton@apple.com> |
Stop using the "%z" size_t modifier and cast all size_t values to uint64_t. Some platforms don't support this modification. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6218201f7b1ce8b9c2049aa82770364410663307 |
|
08-Sep-2012 |
Sean Callanan <scallanan@apple.com> |
Fixed a crash in the testsuite because the wrong type was being completed. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9b90e87380cfafd7e746252588c314bcfefa4fe4 |
|
31-Aug-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/12202862> Added a fix for incorrect dynamic typing. Before when asking if a C++ class could be dynamic, we would answer yes for incomplete C++ classes. This turned out to have issues where if a class was not virtual, yet had its first ivar be an instance of a virtual class, we would incorrectly say that a class was virtual and we would downcast it to be a pointer to the first ivar. We now ask the class to complete itself prior to answering the question. We need to test the effects on memory of this change prior to submission. It is the safest and best fix, but it does have a potential downside of higher memory consumption. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f6132ef983e8a5b98fbe5e184f5128eff8c04730 |
|
01-Aug-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11275622> Added new API to lldb::SBTypeMember for bitfields: bool SBTypeMember::IsBitfield(); uint32_t SBTypeMember::GetBitfieldSizeInBits(); Also added new properties for easy access. Now SBTypeMember objects in python have a "fields" property for all type fields, "bases" for all direct bases, "vbases" for all virtual base classes and "members" for a combo of all three organized by bit offset. They all return a python list() of SBTypeMember objects. Usage: (lldb) script >>> t = lldb.target.FindFirstType("my_type") >>> for field in t.fields: ... print field >>> for vbase in t.vbases: ... print vbase >>> for base in t.bases: ... print base >>> for member in t.members: ... print member Also added new "is_bitfield" property to the SBTypeMember objects that will return the result of SBTypeMember::IsBitfield(), and "bitfield_bit_size" which will return the result of SBTypeMember::GetBitfieldSizeInBits(); I also fixed "SBTypeMember::GetOffsetInBytes()" to return the correct byte offset. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
4a379b1194f3e6b308cd6e80b45d6ca5dd0aafd7 |
|
17-Jul-2012 |
Greg Clayton <gclayton@apple.com> |
Ran the static analyzer on the codebase and found a few things. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b3a1a2bba41281ba56a99fe64887a8a04760784c |
|
14-Jul-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11870357> Allow "frame variable" to find ivars without the need for "this->" or "self->". git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e9fcfd94bbd6e188c0f5291eb444ed3c464342ca |
|
13-Jul-2012 |
Sean Callanan <scallanan@apple.com> |
Updated LLVM and added a fix to LLDB which allows LLDB to distinguish between multiple anonymous structs/unions in the same class. <rdar://problem/11466212> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b170aee2daacc83e3d71c3e3acc9d56c89893a7b |
|
08-May-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11358639> Switch over to the "*-apple-macosx" for desktop and "*-apple-ios" for iOS triples. Also make the selection process for auto selecting platforms based off of an arch much better. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a4974db9b26cc4f33e16c990304b51f4a1d38611 |
|
18-Apr-2012 |
Sean Callanan <scallanan@apple.com> |
We now record metadata for Objective-C interfaces, Objective-C methods, and Objective-C properties. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
fafffe000eb4a3902ecefc82446d11e6838167c6 |
|
13-Apr-2012 |
Sean Callanan <scallanan@apple.com> |
Added a mechanism for keeping track of where in the debug information individual Decls came from. We've had a metadata infrastructure for a while, which was intended to solve a problem we've since dealt with in a different way. (It was meant to keep track of which definition of an Objective-C class was the "true" definition, but we now find it by searching the symbols for the class symbol.) The metadata is attached to the ExternalASTSource, which means it has a one-to-one correspondence with AST contexts. I've repurposed the metadata infrastructure to hold the object file and DIE offset for the DWARF information corresponding to a Decl. There are methods in ClangASTContext that get and set this metadata, and the ClangASTImporter is capable of tracking down the metadata for Decls that have been copied out of the debug information into the parser's AST context without using any additional memory. To see the metadata, you just have to enable the expression log: - (lldb) log enable lldb expr - and watch the import messages. The high 32 bits of the metadata indicate the index of the object file in its containing DWARFDebugMap; I have also added a log which you can use to track that mapping: - (lldb) log enable dwarf map - This adds 64 bits per Decl, which in my testing hasn't turned out to be very much (debugging Clang produces around 6500 Decls in my tests). To track how much data is being consumed, I've also added a global variable g_TotalSizeOfMetadata which tracks the total number of Decls that have metadata in all active AST contexts. Right now this metadata is enormously useful for tracking down bugs in the debug info parser. In the future I also want to use this information to provide more intelligent error messages instead of printing empty source lines wherever Clang refers to the location where something is defined. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e2f71a33fa5ffdd3829d0c2c2a6790387743d064 |
|
06-Apr-2012 |
Greg Clayton <gclayton@apple.com> |
Check if the two clang opaque type pointers are equal before doing anything more exhaustive comparison. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8d6115615f55ae38ff141f0a6859d59750da8d02 |
|
05-Apr-2012 |
Sean Callanan <scallanan@apple.com> |
Fixed a problem where we did not read properties correctly if the setter/getter were not present in the debug information. The fixes are as follows: - We not only look for the method by its full name, but also look for automatically-generated methods when searching for a selector in an Objective-C interface. This is necessary to find accessors. - Extract the getter and setter name from the DW_TAG_APPLE_Property declaration in the DWARF if they are present; generate them if not. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ab6e67a36a396cbf30a6f965ee5acee4d637041b |
|
03-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
Possibly too soon for this change. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
36b6b4ced93d345eb506cd99f39e3b8c79aee6ea |
|
03-Apr-2012 |
Bill Wendling <isanbard@gmail.com> |
The option is 'NoInlineDefine.' git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e4b3d6351171505f612ebb2d78ed15f348081845 |
|
03-Apr-2012 |
Sean Callanan <scallanan@apple.com> |
Fixed ClangASTContext to correctly recognize wchar_t as distinct from int. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c17d2ed5fe752c912fb6bb4563f2c1639c8e6ce9 |
|
31-Mar-2012 |
Greg Clayton <gclayton@apple.com> |
Remove unused code. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
3356d4f89e85301e5ddec2301c75b0626d50703f |
|
30-Mar-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11082392> Fixed an issue that could cause circular type parsing that will assert and kill LLDB. Prior to this fix the DWARF parser would always create class types and not start their definitions (for both C++ and ObjC classes) until we were asked to complete the class later. When we had cases like: class A { class B { }; }; We would alway try to complete A before specifying "A" as the decl context for B. Turns out we can just start the definition and still not complete the class since we can check the TagDecl::isCompleteDefinition() function. This only works for C++ types. This means we will not be pulling in the full definition of parent classes all the time and should help with our memory consumption and also reduce the amount of debug info we have to parse. I also reduced redundant code that was checking in a lldb::clang_type_t was a possible C++ dynamic type since it was still completing the type, just to see if it was dynamic. This was fixed in another function that was checking for a type being dynamic as an ObjC or a C++ type, but there was dedicated fucntion for C++ that we missed. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
1ec8f8fc244b7714a7847525cb9474ebcd85487a |
|
29-Mar-2012 |
Sean Callanan <scallanan@apple.com> |
Added support for the DW_AT_APPLE_Property tag for unbacked properties. We support two variants: one in which the getter/setter are provided by selector ("mySetter:") and one in which the getter/setter are provided by signature ("-[MyClass mySetter:]"). git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
dc0a38c5a727cae5362b218a3180d0f4265a619d |
|
27-Mar-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11113279> Fixed type lookups to "do the right thing". Prior to this fix, looking up a type using "foo::bar" would result in a type list that contains all types that had "bar" as a basename unless the symbol file was able to match fully qualified names (which our DWARF parser does not). This fix will allow type matches to be made based on the basename and then have the types that don't match filtered out. Types by name can be fully qualified, or partially qualified with the new "bool exact_match" parameter to the Module::FindTypes() method. This fixes some issue that we discovered with dynamic type resolution as well as improves the overall type lookups in LLDB. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d44c9d31d23d0b44ce40325ad69226889a9638bc |
|
24-Mar-2012 |
Enrico Granata <egranata@apple.com> |
Adding a new API call IsTypeComplete() to SBType. This call is meant to check if the type has been previously completed or not (which is mostly interesting from a performance point of view) Adding a test case that checks that we do not complete types before due time. This should help us track cases similar to the cascading data formatters. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
74e422d4bd8c5ef5bee4ad76b118972978c825e3 |
|
22-Mar-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11095005> Fixed a performance regression when dynamic types are enable where we would ask a C++ type if it can possibly be dynamic. Previously we would force the type to complete itself and then anwwer the question definitively. Now we ask the type if it is already complete and only definitively answer the question for completed types and just say "yes" for non-complete C++ types. We also always now answer yes for Objective C classes and do not complete those types either. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9a357a46c072fa96e799b9f31621df3d8544f60b |
|
10-Mar-2012 |
Sean Callanan <scallanan@apple.com> |
...And finished the job. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
fe1e5ec051f87777043221a5d6f0475d7606d688 |
|
10-Mar-2012 |
Sean Callanan <scallanan@apple.com> |
Hardened isObjCObjectPointerType() against NULLs. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
1bc1caddf53e812ba87411f76fc15b7971930c22 |
|
07-Mar-2012 |
Johnny Chen <johnny.chen@apple.com> |
rdar://problem/10611315 expression command doesn't handle xmm or stmm registers... o Update ClangASTContext::GetBuiltinTypeForEncodingAndBitSize() to now handle eEncodingVector. o Modify RegisterValue::SetFromMemoryData() to fix the subtle error due to unitialized variables. o Add a test file for "expr $xmm0". git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
3552ed0afbb58f377a4677ae5253e59b3ed80954 |
|
02-Mar-2012 |
Sean Callanan <scallanan@apple.com> |
Improved the type's handling of anonymous structs, so that the expression parser can look up members of anonymous structs correctly. This meant creating all the proper IndirectFieldDecls in each Record after it has been completely populated with members. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
142f94c8a1498c5269a9f878ed92adf0ffc71215 |
|
01-Mar-2012 |
Sean Callanan <scallanan@apple.com> |
Updated LLVM to take a new MC JIT that supports allocations by section. We install these sections in the target process and inform the JIT of their new locations. Also removed some unused variable warnings. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
931acecd4e3af534028936431dc0f75a9fd6eb02 |
|
23-Feb-2012 |
Sean Callanan <scallanan@apple.com> |
Added support for looking up the complete type for Objective-C classes. This allows LLDB to find ivars declared in class extensions in modules other than where the debugger is currently stopped (we already supported this when the debugger was stopped in the same module as the definition). This involved the following main changes: - The ObjCLanguageRuntime now knows how to hunt for the authoritative version of an Objective-C type. It looks for the symbol indicating a definition, and then gets the type from the module containing that symbol. - ValueObjects now report their type with a potential override, and the override is set if the type of the ValueObject is an Objective-C class or pointer type that is defined somewhere other than the original reported type. This means that "frame variable" will always use the complete type if one is available. - The ClangASTSource now looks for the complete type when looking for ivars. This means that "expr" will always use the complete type if one is available. - I added a testcase that verifies that both "frame variable" and "expr" work. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
70c6cf4b614cd79a54cf1a8696f7b4c963229868 |
|
18-Feb-2012 |
Sean Callanan <scallanan@apple.com> |
Ignore the constness of the object pointer when fetching it. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
97b675ecde7a3b7ebb4161fbecb122fb22c2b6ea |
|
06-Feb-2012 |
Sean Callanan <scallanan@apple.com> |
I left some stray debugging messages in the source code. Removing these. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b7fad95031b51dde040dc8b3de7bd8db2d14f613 |
|
06-Feb-2012 |
Greg Clayton <gclayton@apple.com> |
Almost have templatized functions working (templatized classes are already working, but not functions). I need to check on a few things to make sure I am registering everything correctly in the right order and in the right contexts. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8f2e392e8937aaf66f91201dc5f4190d61902c67 |
|
04-Feb-2012 |
Sean Callanan <scallanan@apple.com> |
I have brought LLDB up-to-date with top of tree LLVM/Clang. This brings in several fixes, including: - Improvements in the Just-In-Time compiler's allocation of memory: the JIT now allocates memory in chunks of sections, improving its ability to generate relocations. I have revamped the RecordingMemoryManager to reflect these changes, as well as to get the memory allocation and data copying out fo the ClangExpressionParser code. Jim Grosbach wrote the updates to the JIT on the LLVM side. - A new ExternalASTSource interface to allow LLDB to report accurate structure layout information to Clang. Previously we could only report the sizes of fields, not their offsets. This meant that if data structures included field alignment directives, we could not communicate the necessary alignment to Clang and accesses to the data would fail. Now we can (and I have update the relevant test case). Thanks to Doug Gregor for implementing the Clang side of this fix. - The way Objective-C interfaces are completed by Clang has been made consistent with RecordDecls; with help from Doug Gregor and Greg Clayton I have ensured that this still works. - I have eliminated all local LLVM and Clang patches, committing the ones that are still relevant to LLVM and Clang as needed. I have tested the changes extensively locally, but please let me know if they cause any trouble for you. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
3eeaf6e715784499520885535236ccff1ba56d1c |
|
03-Feb-2012 |
Greg Clayton <gclayton@apple.com> |
Added support to SBType for getting template arguments from a SBType: uint32_t SBType::GetNumberOfTemplateArguments (); lldb::SBType SBType::GetTemplateArgumentType (uint32_t idx); lldb::TemplateArgumentKind SBType::GetTemplateArgumentKind (uint32_t idx); Some lldb::TemplateArgumentKind values don't have a corresponding SBType that will be returned from SBType::GetTemplateArgumentType(). This will help our data formatters do their job by being able to find out the type of template params and do smart things with those. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ebad95d436237a0ecd4e28307d7e37ce997536c1 |
|
20-Jan-2012 |
Sean Callanan <scallanan@apple.com> |
Made IsArrayOfScalarType handle typedefs correctly. We should ultimately introduce GetAs...Type functions in all cases where we have Is...Type functions that know how to look inside typedefs. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d0d73728f2840432f77f01dcd040b76a8c6307a9 |
|
13-Jan-2012 |
Sean Callanan <scallanan@apple.com> |
If the name of a struct or union is NULL in the debug info, call it anonymous. This isn't perfect, because Clang actually considers the following struct not to be anonymous: – struct { int x; int y; } g_foo; - but DWARF doesn't make the distinction. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
df6dc88322f103b263092d752db4490e628a1cbd |
|
05-Jan-2012 |
Greg Clayton <gclayton@apple.com> |
Added code in the Host layer that can report system log messages so that we don't have "fprintf (stderr, ...)" calls sprinkled everywhere. Changed all needed locations over to using this. For non-darwin, we log to stderr only. On darwin, we log to stderr _and_ to ASL (Apple System Log facility). This will allow GUI apps to have a place for these error and warning messages to go, and also allows the command line apps to log directly to the terminal. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
016ef8886cd429f8a53bff967e601f831e409eaa |
|
22-Dec-2011 |
Jim Ingham <jingham@apple.com> |
Improve the x86_64 return value decoder to handle most structure returns. 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. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
da81daeca68f0290d3509435f3b322c9f2e6edef |
|
10-Dec-2011 |
Sean Callanan <scallanan@apple.com> |
Fixed a problem with properties where LLDB was not creating appropriate setter/getter methods for property definitions. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
514970a1bafdd36ce128a70ec8839b74b3aa77ba |
|
08-Dec-2011 |
Jim Ingham <jingham@apple.com> |
Get the bit-field offset & size for ObjC ivars that are bitfields. <rdar://problem/10535460> lldb expression evaluation doesn't handle bit fields in ObjC classes properly git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
2fc7e8d0d392fe85f22d9c75212ebca4cbce547f |
|
03-Dec-2011 |
Sean Callanan <scallanan@apple.com> |
Added ClangExternalASTSourceCommon, a local superclass for all our external AST sources that lets us associate arbitrary flags with the types we put into the AST contexts. Also added an API on ClangASTContext that allows access to these flags given only an ASTContext and a type. Because we don't have access to RTTI, and because at some point in the future we might encounter external AST sources that we didn't make (so they don't subclass ClangExternalASTSourceCommon) I added a magic number that we check before doing anything else, so that we can catch that problem as soon as it appears. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
4b9cf3d9c856d23e2d440c8dfc1e1850692432e1 |
|
02-Dec-2011 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/10394517> Fixed templates with NonTypeTemplateParmDecl objects. For example: template <unsigned N> .... This fixes SmallVector and all of the other classes that have template params that are non types. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
673f3dbea64b116166dfa668006cdc84224a27c0 |
|
30-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Added support to the Objective-C language runtime to find Objective-C class types by looking in the symbol tables for the individual object files. I did this as follows: - I added code to SymbolFileSymtab that vends Clang types for symbols matching the pattern "_OBJC_CLASS_$_NSMyClassName," making them appear as Objective-C classes. This only occurs in modules that do not have debug information, since otherwise SymbolFileDWARF would be in charge of looking up types. - I made a new SymbolVendor subclass for the Apple Objective-C runtime that is in charge of making global lookups of Objective-C types. It currently just sends out type lookup requests to the appropriate SymbolFiles, but in the future we will probably extend it to query the runtime more completely. I also modified a testcase whose behavior is changed by the fact that we now actually return an Objective-C type for __NSCFString. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d9b798561f6f54d8ce3cffeff1f104835279a895 |
|
19-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Ensure that the empty RecordDecl generated for templates is properly complete (though still empty). git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e6ea5fe8e76b028a0565bc01543bc15f8c120e8a |
|
15-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Pulled in a new version of LLVM/Clang to solve a variety of problems with Objective-C object completion. To go along with the LLVM/Clang-side fixes, we have a variety of Objective-C improvements. Fixes include: - It is now possible to run expressions when stopped in an Objective-C class method and have "self" act just like "self" would act in the class method itself (i.e., [self classMethod] works without casting the return type if debug info is present). To accomplish this, the expression masquerades as a class method added by a category. - Objective-C objects can now provide methods and properties and methods to Clang on demand (i.e., the ASTImporter sets hasExternalVisibleDecls on Objective-C interface objects). - Objective-C built-in types, which had long been a bone of contention (should we be using "id"? "id*"?), are now fetched correctly using accessor functions on ClangASTContext. We inhibit searches for them in the debug information. There are also a variety of logging fixes, and I made two changes to the test suite: - Enabled a test case for Objective-C properties in the current translation unit. - Added a test case for calling Objective-C class methods when stopped in a class method. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
96154be69fa240a662419183ed08e1cfc5418164 |
|
13-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/10126482> Fixed an issues with the SBType and SBTypeMember classes: - Fixed SBType to be able to dump itself from python - Fixed SBType::GetNumberOfFields() to return the correct value for objective C interfaces - Fixed SBTypeMember to be able to dump itself from python - Fixed the SBTypeMember ability to get a field offset in bytes (the value being returned was wrong) - Added the SBTypeMember ability to get a field offset in bits Cleaned up a lot of the Stream usage in the SB API files. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
2546fd2a7adb2081e77ce6779e25646c0e3498a9 |
|
12-Nov-2011 |
Jim Ingham <jingham@apple.com> |
Add code that reads the APPLE_property debug info, and makes up properties from them. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f2a0a5c6c0ccf8c75a3409024d088646ed211726 |
|
11-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Updated LLVM/Clang to pull in a fix for Objective-C interfaces. This allows us to pull in Objective-C method types on demand, which is also now implemented. Also added a minor fix to prevent multiple-definition errors for "Class" and "id". git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
32e2564f9af50147044dcdc0c9677bba0fcb4287 |
|
09-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
Cleanup some warnings. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
3e4238d47a6d1a3106f357d2e7b495870721c7ae |
|
04-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed the Xcode project building of LLVM to be a bit more user friendly: - If you download and build the sources in the Xcode project, x86_64 builds by default using the "llvm.zip" checkpointed LLVM. - If you delete the "lldb/llvm.zip" and the "lldb/llvm" folder, and build the Xcode project will download the right LLVM sources and build them from scratch - If you have a "lldb/llvm" folder already that contains a "lldb/llvm/lib" directory, we will use the sources you have placed in the LLDB directory. Python can now be disabled for platforms that don't support it. Changed the way the libllvmclang.a files get used. They now all get built into arch specific directories and never get merged into universal binaries as this was causing issues where you would have to go and delete the file if you wanted to build an extra architecture slice. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
28ebe88ad7fdaf6756c140ceabb7098a0325c87c |
|
02-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Updated LLVM/Clang to pull in an MCJIT fix that allows us to set __attribute__ ((used)) on expressions that masquerade as methods. When we are stopped in classes in anonymous namespaces, this fix (and enabling __attribute__ ((used)) on the method) will allow expressions to run. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f84d4dd67e4547c01f517c4c6ed9a39462d05dad |
|
02-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/10020849> Fixed an issue where the DWARF might mention that a class has a constructor (default, copy or move), destructor, or an assignment operator (copy or move) and it might not have an actual implementation in your code. Then you try and use this struct or class in an expression and the JIT would ask for the address of these methods that were in the declaration, yet there are none. We now "do the right thing" for trivial ctors, dtors and assignment operators by telling the methods that they are are defaulted and trivial, and clang will then just do all of the work with builtins! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
2581dbf7292c6272bb771fe396ab30921385d669 |
|
02-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Sometimes the debug information includes artifically- generated special member functions (constructors, destructors, etc.) for classes that don't really have them. We needed to mark these as artificial to reflect the debug information; this bug does that for constructors and destructors. The "etc." case (certain assignment operators, mostly) remains to be fixed. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
716e3f07f6c41436b2845b172975fd45b456c8f0 |
|
01-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Added the capability (turned off for now) to mark a method as __attribute__ ((used)) when adding it to a class. This functionality is useful when stopped in anonymous namespaces: expressions attached to classes in anonymous namespaces are typically elided by Clang's CodeGen because they have no namespaces are intended not to be externally visible. __attribute__ ((used)) forces CodeGen to emit the function. Right now, __attribute__ ((used)) causes the JIT not to emit the function, so we're not enabling it until we fix that. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b51693999473f5dc7cb9681bbbc4a65028eea35b |
|
01-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed some warnings after enabling some stricter warnings in the Xcode project settings. Also fixed an issue where we weren't creating anonymous namepaces correctly: <rdar://problem/10371295> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
354ffde621c3c7560000fdafb085205bf5a5a545 |
|
31-Oct-2011 |
Daniel Dunbar <daniel@zuster.org> |
warnings: Get rid of spurious semicolon. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ca54193ca2c9adc31facadb17423f1937e92f6c3 |
|
29-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Added support for C++0x char16_t and char32_t types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6f3bde75715fc2e1da483570c0c9241227c14c84 |
|
27-Oct-2011 |
Sean Callanan <scallanan@apple.com> |
Changed the way the expression parser handles variables of reference types. Previously, such variables were materialized as references to those references, which caused undesried behavior in Clang and was useless anyway (the benefit of using references to variables is that it allows expressions to modify variables in place, but for references that's not required). Now we just materialize the references directly, which fixes a variety of expressions that use references. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a31b4ddfd213da1c2595fe2c5ae599d05de65400 |
|
26-Oct-2011 |
Sean Callanan <scallanan@apple.com> |
Added a new #define, LLVM_NDEBUG_OFF, that should be set if linking against an LLVM compiled with NDEBUG off. If it is set, we do not enable NDEBUG in any place where we include LLVM headers. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
5e8eb5c428e91b99f3884b53fc5deea0ecb001cd |
|
26-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue where a class that resides inside another class wasn't getting an access specifier set on it, causing an assertion to fire when building with a Debug+Asserts build of clang. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c6d161e3ed961e40242b5a0482a3354848c7cd57 |
|
26-Oct-2011 |
Sean Callanan <scallanan@apple.com> |
Added VerifyDecl, a function that, when LLDB is linked against a debug LLVM, runs a variety of functions -- currently just one -- that verify that the Decls we create are valid. ClangASTContext now calls this verifier whenever it adds a Decl to a DeclContext, and the verifier checks that the AccessSpecifier is sane. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f6a5bd78aaef0e4d477208289ace03cfa7f60649 |
|
22-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Added template support when parsing DWARF into types. We can now use STL classes in the expression parser. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
37e278307f2d2c01077e15f9787ab93777e023fb |
|
15-Oct-2011 |
Sean Callanan <scallanan@apple.com> |
Handled the call operator properly. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
5f24c5053d9fa99bd20e6b1e5b8c659c68d57be7 |
|
15-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Add function decls to their parent decl context. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6364304894596829a96c8cd3b07b4ea5e00029da |
|
14-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Make sure we create only unique one namespace per AST when parsing the DWARF. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9f54ab7b1fb850e31c82c53d7e6967be8547e7ab |
|
14-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed a case where we might end up trying to parse a type in the DWARF parser for a method whose class isn't currently in the process of completing itself. Currently, methods of a class, must be parsed when the class type that contains the method is asked to complete itself through the clang::ExternalASTSource virtual functions. Now we "do the right thing" by checking if the class is being defined, and if so we parse it, else we tell the class to complete itself so everything happens correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
bc36a861b8e0b2f2dde34f27c9fa9629a357d598 |
|
08-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Added more functionality to Range template classes in RangeMap.h and converted remaining DWARF areas that were using ranges over to this class. Also converted lldb_private::Block to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c1535187de67e4ce48053a7677c76825adcdda44 |
|
08-Oct-2011 |
Sean Callanan <scallanan@apple.com> |
Updated LLVM/Clang to pull in the latest ARM disassembler. This involved minor changes to the way we report Objective-C methods, as well as cosmetic changes and added parameters for a variety of Clang APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
567e7f3ba16eb48cb9fd6a2f26f2f7269eb6983c |
|
22-Sep-2011 |
Greg Clayton <gclayton@apple.com> |
Converted the lldb_private::Process over to use the intrusive shared pointers. Changed the ExecutionContext over to use shared pointers for the target, process, thread and frame since these objects can easily go away at any time and any object that was holding onto an ExecutionContext was running the risk of using a bad object. Now that the shared pointers for target, process, thread and frame are just a single pointer (they all use the instrusive shared pointers) the execution context is much safer and still the same size. Made the shared pointers in the the ExecutionContext class protected and made accessors for all of the various ways to get at the pointers, references, and shared pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d68e089f8353eaf845c3559dac6d47b32830974f |
|
10-Sep-2011 |
Greg Clayton <gclayton@apple.com> |
Added the ability to introspect types thourgh the public SBType interface. Fixed up many API calls to not be "const" as const doesn't mean anything to most of our lldb::SB objects since they contain a shared pointer, auto_ptr, or pointer to the types which circumvent the constness anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
32b4f14eb8bb47cf6e2eb545253e3c03c687ed52 |
|
25-Aug-2011 |
Greg Clayton <gclayton@apple.com> |
Fix so we don't create C++ classes for all objective C classes when we have a objective C++ source file. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
cbfc0ea71785f0affc7ea9ada6d344f822455d47 |
|
19-Aug-2011 |
Sean Callanan <scallanan@apple.com> |
Refined the rollback to LLVM, picking up a newer revision and adding a patch that fixes an AsmParser crash on ARM. One feature that we unfortunately lost (for the moment!) is the ability to cast unknown code symbols to arbitrary function types and put the resulting function pointer in a result variable. This feature will be back, though. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c613971c0016484053b60db95d01648a3f6ea849 |
|
12-Aug-2011 |
Sean Callanan <scallanan@apple.com> |
Fixed LLDB's handling of ElaboratedTypes, which was causing problems with printing the values of persistent variables with struct types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8c1d7203f726e3a62b832dbeeaf0ae76f9f65222 |
|
05-Aug-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed issues for iOS debugging where if a device has a native architecture that doesn't match the universal slice that is being used for all executables, we weren't correctly descending through the platform architectures and resolving the binaries. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a83f8779ac614263d92959d2338e6e9f08d8f9fb |
|
04-Aug-2011 |
Greg Clayton <gclayton@apple.com> |
Make sure we track CXX and objc method decls. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9b6898f3ec1dedbe1dfc8bd7cd1d82a5b10e1bb0 |
|
30-Jul-2011 |
Sean Callanan <scallanan@apple.com> |
This change brings in the latest LLVM/Clang, and 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. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
dcc59f079edcd40cfba46eec1cd323341261a5e2 |
|
30-Jul-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed a compile error. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
979e20d127335143ffc89c2e37ec3a8b717ff22d |
|
29-Jul-2011 |
Enrico Granata <granata.enrico@gmail.com> |
Public API changes: - Completely new implementation of SBType - Various enhancements in several other classes Python synthetic children providers for std::vector<T>, std::list<T> and std::map<K,V>: - these return the actual elements into the container as the children of the container - basic template name parsing that works (hopefully) on both Clang and GCC - find them in examples/synthetic and in the test suite in functionalities/data-formatter/data-formatter-python-synth New summary string token ${svar : - the syntax is just the same as in ${var but this new token lets you read the values coming from the synthetic children provider instead of the actual children - Python providers above provide a synthetic child len that returns the number of elements into the container Full bug fix for the issue in which getting byte size for a non-complete type would crash LLDB Several other fixes, including: - inverted the order of arguments in the ClangASTType constructor - EvaluationPoint now only returns SharedPointer's to Target and Process - the help text for several type subcommands now correctly indicates argument-less options as such git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
90d207ede88604e278f68ee1b02600a35e56dd14 |
|
16-Jul-2011 |
Enrico Granata <granata.enrico@gmail.com> |
System-wide summaries: - Summaries for char*, const char* and char[] are loaded at startup as system-wide summaries. This means you cannot delete them unless you use the -a option to type summary delete/clear - You can add your own system-wide summaries by using the -w option to type summary add Several code improvements for the Python summaries feature git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
1a102087f54079c25c8827afac6153a44ca535da |
|
12-Jul-2011 |
Enrico Granata <granata.enrico@gmail.com> |
named summaries: - a new --name option for "type summary add" lets you give a name to a summary - a new --summary option for "frame variable" lets you bind a named summary to one or more variables ${var%s} now works for printing the value of 0-terminated CStrings type format test case now tests for cascading - this is disabled on GCC because GCC may end up stripping typedef chains, basically breaking cascading new design for the FormatNavigator class new template class CleanUp2 meant to support cleanup routines with 1 additional parameter beyond resource handle git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
24b03108fe8d672bf96b2cfd491e99e601f03218 |
|
09-Jul-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed the global and static variables to always be in scope. Made it so that you can create synthetic children of array value objects. This is for creating array members when the array index is out of range. This comes in handy when you have a structure definition like: struct Collection { uint32_t count; Item array[0]; }; "array" has 1 item, but many times in practice there are more items in "item_array". This allows you to do: (lldb) target variable g_collection.array[3] To implement this, the get child at index has been modified to have a "ignore_array_bounds" boolean that can be set to true. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
59e093da47e46146dd5b8cddd4dd8dcfcfa31a65 |
|
09-Jul-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue with getting the size of an array from an opaque clang_type_t variable where we were using a static cast when we shouldn't have been. Fixed another array related issue where we weren't looking through a typedef. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
19c0d58b8d2c168b835477e6a681e971ac32ece5 |
|
08-Jul-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed a few issues where typedefs weren't passing through to the correct recursive function. Also fixed ClangASTContext::IsPointerType to correctly NULL out the pointee handle if a valid one is provided. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9762e10787a7efc2f0d822590cab42ca23d5e4f9 |
|
06-Jul-2011 |
Enrico Granata <granata.enrico@gmail.com> |
new syntax for summary strings: - ${*expr} now simply means to dereference expr before actually using it - bitfields, array ranges and pointer ranges now work in a (hopefully) more natural and language-compliant way a new class TypeHierarchyNavigator replicates the behavior of the FormatManager in going through type hierarchies when one-lining summary strings, children's summaries can be used as well as values git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
886bc3e5cb48e9660692609a7be69ec15b898bd7 |
|
02-Jul-2011 |
Enrico Granata <granata.enrico@gmail.com> |
several improvements to "type summary": - type names can now be regular expressions (exact matching is done first, and is faster) - integral (and floating) types can be printed as bitfields, i.e. ${var[low-high]} will extract bits low thru high of the value and print them - array subscripts are supported, both for arrays and for pointers. the syntax is ${*var[low-high]}, or ${*var[]} to print the whole array (the latter only works for statically sized arrays) - summary is now printed by default when a summary string references a variable. if that variable's type has no summary, value is printed instead. to force value, you can use %V as a format specifier - basic support for ObjectiveC: - ObjectiveC inheritance chains are now walked through - %@ can be specified as a summary format, to print the ObjectiveC runtime description for an object - some bug fixes git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b302b2f50e079b11a12ebafc29104c198f4f15e4 |
|
30-Jun-2011 |
Greg Clayton <gclayton@apple.com> |
Centralize all of the type name code so that we always strip the leading "struct ", "class ", and "union " from the start of any type names that are extracted from clang QualType objects. I had to fix test suite cases that were expecting the struct/union/class prefix to be there. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
917c000e77fcf657099f59085d6436d179a39ea4 |
|
30-Jun-2011 |
Greg Clayton <gclayton@apple.com> |
Added support for finding and global variables in the SBTarget and SBModule level in the public API. Also modified the ValueObject values to be able to display global variables without having a valid running process. The globals will read themselves from the object file section data if there is no process, and from the process if there is one. Also fixed an issue where modifications for dynamic types could cause child values of ValueObjects to not show up if the value was unable to evaluate itself (children of NULL pointer objects). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e6d72ca9a6b22cd062136bbff039c3d8217f798a |
|
25-Jun-2011 |
Greg Clayton <gclayton@apple.com> |
This commit adds broad architectural support for hierarchical inspection of namespaces in the expression parser. ClangExpressionDeclMap hitherto reported that namespaces had been completely imported, even though the namespaces are returned empty. To deal with this situation, ClangASTSource was recently extended with an API to complete incomplete type definitions, and, for greater efficiency, to complete these definitions partially, returning only those objects that have a given name. This commit supports these APIs on LLDB's side, and uses it to provide information on types resident in namespaces. Namespaces are now imported as they were -- that is to say, empty -- but with minimal import mode on. This means that Clang will come back and request their contents by name as needed. We now respond with information on the contained types; this will be followed soon by information on functions and variables. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
58513667f6765aa8db13cdc4abd500340c1cac80 |
|
25-Jun-2011 |
Jim Ingham <jingham@apple.com> |
Add support for looking up ivar offset from the ObjC runtime. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8c6907c4daa74a8ebc418ec6eed151b68bda6321 |
|
19-Jun-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed a case where LLDB would crash if we get C++ operators with invalid operator counts due to bad debug DWARF debug info. We now verify the operator has a valid number of params using the clang operator tables. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
0f5e6f1a01b340d463fbdc692f3af492774a5ec4 |
|
02-Jun-2011 |
Greg Clayton <gclayton@apple.com> |
Use the correct accessor on CXXRecordDecl to know when a C++ class is dynamic. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
82f0746880b4a6b18bcf8666670140f5b4a56791 |
|
30-May-2011 |
Greg Clayton <gclayton@apple.com> |
lldb-59. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a71464f0ac148cf5d6bfc0ed009edc3b97076dab |
|
20-May-2011 |
Charles Davis <cdavis@mines.edu> |
Use a SmallVector here instead of a VLA. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
5a570908d7c5c7cfd342e5b100ca596780f5b958 |
|
17-May-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed an assert that could cause a crash when there was an unrecognized DW_TAG_base_type. Now it is a error printed to stderr. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
0de254aaec7d6766379191e5397ec2294042c5d7 |
|
16-May-2011 |
Sean Callanan <scallanan@apple.com> |
Updated to use the latest LLVM/Clang, to pick up JIT changes. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
fb3058efeaacc2ced967e46842dfc4875b3daf14 |
|
13-May-2011 |
Sean Callanan <scallanan@apple.com> |
Introduced support for UnknownAnyTy, the Clang type representing variables whose type must be inferred from the way they are used. Functions without debug information now return UnknownAnyTy and must be cast. Variables with no debug information are not yet using UnknownAnyTy; instead they are assumed to be void*. Support for variables of unknown type is coming (and, in fact, some relevant support functions are included in this commit) but will take a bit of extra effort. The testsuite has also been updated to reflect the new requirement that the result of printf be cast, i.e. expr (int) printf("Hello world!") git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
abe0fed36d83e1c37af9dae90c2d25db742b4515 |
|
18-Apr-2011 |
Greg Clayton <gclayton@apple.com> |
Centralized a lot of the status information for processes, threads, and stack frame down in the lldb_private::Process, lldb_private::Thread, lldb_private::StackFrameList and the lldb_private::StackFrame classes. We had some command line commands that had duplicate versions of the process status output ("thread list" and "process status" for example). Removed the "file" command and placed it where it should have been: "target create". Made an alias for "file" to "target create" so we stay compatible with GDB commands. We can now have multple usable targets in lldb at the same time. This is nice for comparing two runs of a program or debugging more than one binary at the same time. The new command is "target select <target-idx>" and also to see a list of the current targets you can use the new "target list" command. The flow in a debug session can be: (lldb) target create /path/to/exe/a.out (lldb) breakpoint set --name main (lldb) run ... hit breakpoint (lldb) target create /bin/ls (lldb) run /tmp Process 36001 exited with status = 0 (0x00000000) (lldb) target list Current targets: target #0: /tmp/args/a.out ( arch=x86_64-apple-darwin, platform=localhost, pid=35999, state=stopped ) * target #1: /bin/ls ( arch=x86_64-apple-darwin, platform=localhost, pid=36001, state=exited ) (lldb) target select 0 Current targets: * target #0: /tmp/args/a.out ( arch=x86_64-apple-darwin, platform=localhost, pid=35999, state=stopped ) target #1: /bin/ls ( arch=x86_64-apple-darwin, platform=localhost, pid=36001, state=exited ) (lldb) bt * thread #1: tid = 0x2d03, 0x0000000100000b9a a.out`main + 42 at main.c:16, stop reason = breakpoint 1.1 frame #0: 0x0000000100000b9a a.out`main + 42 at main.c:16 frame #1: 0x0000000100000b64 a.out`start + 52 Above we created a target for "a.out" and ran and hit a breakpoint at "main". Then we created a new target for /bin/ls and ran it. Then we listed the targest and selected our original "a.out" program, so we showed two concurent debug sessions going on at the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9994a0bcfe1790b320f6a9cf51c8d5ac9c4efdbd |
|
16-Apr-2011 |
Jim Ingham <jingham@apple.com> |
Fix comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
381f968161e2274c55706ead0baed444a26b5092 |
|
01-Apr-2011 |
Greg Clayton <gclayton@apple.com> |
Get rid of LONG_LONG_MAX and ULONG_LONG_MAX, and use LLONG_MAX and ULLONG_MAX respectively. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
279584cdea3dfda933480ed0fe948df2697ab512 |
|
15-Mar-2011 |
Sean Callanan <scallanan@apple.com> |
Updated to LLVM/Clang revision 127600. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
04c9c7b03fbec6d0dcc6c848391147de2f129c66 |
|
17-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Clean up a bit of the type getting code where lldb_private:Type now has clang_type_t GetClangFullType(); // Get a completely defined clang type clang_type_t GetClangLayoutType(); // Get a clang type that can be used for type layout clang_type_t GetClangForwardType(); // A type that can be completed if needed, but is more efficient. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
395fc33dc4b06c048ed35047ec461bc092ef2df3 |
|
15-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Made lldb_private::ArchSpec contain much more than just an architecture. It now, in addition to cpu type/subtype and architecture flavor, contains: - byte order (big endian, little endian) - address size in bytes - llvm::Triple for true target triple support and for more powerful plug-in selection. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
7bb069b2216523f21fb6a3ce867f2f7278b1b07b |
|
10-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Modified version of a patch from Warren Paul that takes care of issues with indirect forms, deals with empty DW_AT_comp_dir attributes, and fixups for handling other signed integer types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
5aad3f5581aec9ee62277d92b11cba7abf837dbd |
|
02-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Added missing return statement (patch from Kirk Beitz). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9353338e34d711856c80754721fe425bc765c6f3 |
|
27-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Improved support for GCC complex integers. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d5b3c351ea23e8e36d47056e50b1df773ae9050a |
|
27-Jan-2011 |
Sean Callanan <scallanan@apple.com> |
Updated Clang to a version that supports propagating the "virtual" flag when importing a C++ function declaration. Made changes to LLDB to support other changes in Clang. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
bdcb6abaa287df2c5f312c51d993c1d0b0cb120c |
|
26-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Enabled extra warnings and fixed a bunch of small issues. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a4881d04b4f367c67e34e8040e1257fc222a8b41 |
|
22-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Sped up the shutdown time on MacOSX by quite a bit by making sure any threads that we spawn let us know when they are going away and that we don't timeout waiting for a message from threads that have gone away. We also now don't expect the "k" packet (kill) to send a response. This greatly speeds up debugger shutdown performance. The test suite now runs quite a bit faster. Added a fix to the variable display code that fixes the display of base classes. We were assuming the virtual or normal base class offsets were being given in bit sizes, but they were being given as character sizes, so we needed to multiply the offset by 8. This wasn't affecting the expression parser, but it was affecting the correct display of C++ class base classes and all of their children. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
00c3ae7dac4cf9654d1569735c41e58fb2fd8969 |
|
21-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed up the SBValue::GetExpressionPath() to be more correct under more circumstances. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
7a183dc05d0b860e5b4b523f27e2a9804e49af62 |
|
20-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed the auto completion of objective C types with the new ExternalASTSource changes that recently happened. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ad29309ac7a29db2cc363bd4ace20fbf862a42d3 |
|
19-Jan-2011 |
Sean Callanan <scallanan@apple.com> |
Updated to revision 123723 of LLVM, to bring in support for minimal type import functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
864bfdb96d427a67e585db047fea14eb15fe42a7 |
|
18-Jan-2011 |
Sean Callanan <scallanan@apple.com> |
Quick fixes to set access specifiers for Typedefs and Enums inside classes. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
215ce008278a9700eb6cc1781f5f6c3560e07b79 |
|
17-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Removed commented out code since it was incorrect code to begin with and we don't want anyone thinking they should put it back in. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e74b403485ee7191085acaca03efdff0949665dc |
|
17-Jan-2011 |
Sean Callanan <scallanan@apple.com> |
Fixed a bug which would trigger an assert() in LLDB; we were setting a forward-declared Objective-C class type as being completed using an ExternalSemaSource, but this is neither legal nor necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b01000fd063629facd45044f137446fb748ee179 |
|
17-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
A few of the issue I have been trying to track down and fix have been due to the way LLDB lazily gets complete definitions for types within the debug info. When we run across a class/struct/union definition in the DWARF, we will only parse the full definition if we need to. This works fine for top level types that are assigned directly to variables and arguments, but when we have a variable with a class, lets say "A" for this example, that has a member: "B *m_b". Initially we don't need to hunt down a definition for this class unless we are ever asked to do something with it ("expr m_b->getDecl()" for example). With my previous approach to lazy type completion, we would be able to take a "A *a" and get a complete type for it, but we wouldn't be able to then do an "a->m_b->getDecl()" unless we always expanded all types within a class prior to handing out the type. Expanding everything is very costly and it would be great if there were a better way. A few months ago I worked with the llvm/clang folks to have the ExternalASTSource class be able to complete classes if there weren't completed yet: class ExternalASTSource { .... virtual void CompleteType (clang::TagDecl *Tag); virtual void CompleteType (clang::ObjCInterfaceDecl *Class); }; This was great, because we can now have the class that is producing the AST (SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources and the object that creates the forward declaration types can now also complete them anywhere within the clang type system. This patch makes a few major changes: - lldb_private::Module classes now own the AST context. Previously the TypeList objects did. - The DWARF parsers now sign up as an external AST sources so they can complete types. - All of the pure clang type system wrapper code we have in LLDB (ClangASTContext, ClangASTType, and more) can now be iterating through children of any type, and if a class/union/struct type (clang::RecordType or ObjC interface) is found that is incomplete, we can ask the AST to get the definition. - The SymbolFileDWARFDebugMap class now will create and use a single AST that all child SymbolFileDWARF classes will share (much like what happens when we have a complete linked DWARF for an executable). We will need to modify some of the ClangUserExpression code to take more advantage of this completion ability in the near future. Meanwhile we should be better off now that we can be accessing any children of variables through pointers and always be able to resolve the clang type if needed. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e52f37baba95cc60d2fc78d9f8726dff5c3f3720 |
|
15-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Added complete complex support for displaying and parsing complex types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
0d62dfd4974eb23f550f992e594894b96c5696d1 |
|
14-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed an error in the type map for "char **" that was a bad memory smasher. Anytime we had a valid python list that was trying to go from Python down into our C++ API, it was allocating too little memory and it ended up smashing whatever was next to the allocated memory. Added typemap conversions for "void *, size_t" so we can get SBProcess::ReadMemory() working. Also added a typemap for "const void *, size_t" so we can get SBProcess::WriteMemory() to work. Fixed an issue in the DWARF parser where we weren't correctly calculating the DeclContext for all types and classes. We now should be a lot more accurate. Fixes include: enums should now be setting their parent decl context correctly. We saw a lot of examples where enums in classes were not being properly namespace scoped. Also, classes within classes now get properly scoped. Fixed the objective C runtime pointer checkers to let "nil" pointers through since these are accepted by compiled code. We also now don't call "abort()" when a pointer doesn't validate correctly since this was wreaking havoc on the process due to the way abort() works. We now just dereference memory which should give us an exception from which we can easily and reliably recover. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6a92553d2cc2b7a3b853fcb6da101583435c2dc0 |
|
13-Jan-2011 |
Sean Callanan <scallanan@apple.com> |
Implemented a major overhaul of the way variables are handled by LLDB. Instead of being materialized into the input structure passed to the expression, variables are left in place and pointers to them are materialzied into the structure. Variables not resident in memory (notably, registers) get temporary memory regions allocated for them. Persistent variables are the most complex part of this, because they are made in various ways and there are different expectations about their lifetime. Persistent variables now have flags indicating their status and what the expectations for longevity are. They can be marked as residing in target memory permanently -- this is the default for result variables from expressions entered on the command line and for explicitly declared persistent variables (but more on that below). Other result variables have their memory freed. Some major improvements resulting from this include being able to properly take the address of variables, better and cleaner support for functions that return references, and cleaner C++ support in general. One problem that remains is the problem of explicitly declared persistent variables; I have not yet implemented the code that makes references to them into indirect references, so currently materialization and dematerialization of these variables is broken. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9db023bd392ede8fc4c92d7dfee64382e08bbd78 |
|
08-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Make sure we don't assert if we have a child with zero byte size. Also we now say that "void *" value objects don't have children. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c3b61d239a53271d013b82ffaba6ab4e92b7fcc1 |
|
15-Dec-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed the "expression" command object to use the StackFrame::GetValueForExpressionPath() function and also hooked up better error reporting for when things fail. Fixed issues with trying to display children of pointers when none are supposed to be shown (no children for function pointers, and more like this). This was causing child value objects to be made that were correctly firing an assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
427f290ff96f3ab9f2cf3a1af7001d2c560424c7 |
|
14-Dec-2010 |
Greg Clayton <gclayton@apple.com> |
Modified LLDB expressions to not have to JIT and run code just to see variable values or persistent expression variables. Now if an expression consists of a value that is a child of a variable, or of a persistent variable only, we will create a value object for it and make a ValueObjectConstResult from it to freeze the value (for program variables only, not persistent variables) and avoid running JITed code. For everything else we still parse up and JIT code and run it in the inferior. There was also a lot of clean up in the expression code. I made the ClangExpressionVariables be stored in collections of shared pointers instead of in collections of objects. This will help stop a lot of copy constructors on these large objects and also cleans up the code considerably. The persistent clang expression variables were moved over to the Target to ensure they persist across process executions. Added the ability for lldb_private::Target objects to evaluate expressions. We want to evaluate expressions at the target level in case we aren't running yet, or we have just completed running. We still want to be able to access the persistent expression variables between runs, and also evaluate constant expressions. Added extra logging to the dynamic loader plug-in for MacOSX. ModuleList objects can now dump their contents with the UUID, arch and full paths being logged with appropriate prefix values. Thread hardened the Communication class a bit by making the connection auto_ptr member into a shared pointer member and then making a local copy of the shared pointer in each method that uses it to make sure another thread can't nuke the connection object while it is being used by another thread. Added a new file to the lldb/test/load_unload test that causes the test a.out file to link to the libd.dylib file all the time. This will allow us to test using the DYLD_LIBRARY_PATH environment variable after moving libd.dylib somewhere else. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9e7958e3d89fbcb8128bd224161cdccd3bf4ad9d |
|
13-Dec-2010 |
Sean Callanan <scallanan@apple.com> |
Updated to latest Clang revision. This involved very minor changes, changing how we get the target type from a TypedefType, adding a parameter to EnumDecl::Create(), and other minor tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
887d25180c9ebe10513654baa96bfb31f7f1f260 |
|
11-Dec-2010 |
Sean Callanan <scallanan@apple.com> |
Made all LLDB-generated ASTContexts have valid DiagnosticClients, and removed code that was patching over the original problem. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
494735debedd2ed3d9cf3ff0b6f8373232ae0d8d |
|
10-Dec-2010 |
Sean Callanan <scallanan@apple.com> |
Simplified the code that handles overloaded operator names. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c2c9a149f127736550d7430653f4c1a51731442e |
|
10-Dec-2010 |
Sean Callanan <scallanan@apple.com> |
Fixed detection of overloaded operators in type information. Previously, "operator[]" was not being recognized because the detector was looking for "operator " as a prefix. Now we handle both cases. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
829075808ac0a804673ab4752b21885b63253b0b |
|
08-Dec-2010 |
Sean Callanan <scallanan@apple.com> |
Fixed a problem where the AST importer would assert() because the diagnostic client for one of the AST contexts is NULL. Now we provide a form of Miranda rights to AST contexts: they are provided with a very simple diagnostic client if they do not have one themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
c4217a663232c014ee054f55bd90ece79803c963 |
|
07-Dec-2010 |
Sean Callanan <scallanan@apple.com> |
Fixes to make id work as well as well as fix minor errors when calling built-ins. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
22defe8b06df5b1f09b53bda255ef07513abc04c |
|
03-Dec-2010 |
Greg Clayton <gclayton@apple.com> |
Updated to latest LLVM/Clang for external AST source changes that allow TagDecl subclasses and Objective C interfaces to complete themselves through the ExternalASTSource class. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ba4fc4ab601abe30ee681b4ae2ca6f955a8139c7 |
|
20-Nov-2010 |
Sean Callanan <scallanan@apple.com> |
Removed a stray dump() that made it into top-of-tree. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
eae91241c959357e5e867cfb257e762574b68dd6 |
|
19-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Updated to latest and greatest clang for a "print cvr-qualifiers on function declarations" fix. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a91dd997b1e809c67901b7ac481942cacae19150 |
|
19-Nov-2010 |
Sean Callanan <scallanan@apple.com> |
Added support for indicating to the expression parser that the result of an expression should be coerced to a specific type. Also made breakpoint conditions pass in the bool type for this type. The expression parser ignores this indication for now. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8a3b0a85dd512824f528cfa55d93f530ebe38be8 |
|
18-Nov-2010 |
Sean Callanan <scallanan@apple.com> |
Updated to the LLVM/Clang of 2010-11-17 at 3:30pm. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6916e358c9725b75ed91f31236c147f26c9af10e |
|
13-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Modified the lldb_private::Type clang type resolving code to handle three cases when getting the clang type: - need only a forward declaration - need a clang type that can be used for layout (members and args/return types) - need a full clang type This allows us to partially parse the clang types and be as lazy as possible. The first case is when we just need to declare a type and we will complete it later. The forward declaration happens only for class/union/structs and enums. The layout type allows us to resolve the full clang type _except_ if we have any modifiers on a pointer or reference (both R and L value). In this case when we are adding members or function args or return types, we only need to know how the type will be laid out and we can defer completing the pointee type until we later need it. The last type means we need a full definition for the clang type. Did some renaming of some enumerations to get rid of the old "DC" prefix (which stands for DebugCore which is no longer around). Modified the clang namespace support to be almost ready to be fed to the expression parser. I made a new ClangNamespaceDecl class that can carry around the AST and the namespace decl so we can copy it into the expression AST. I modified the symbol vendor and symbol file plug-ins to use this new class. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
53d287bda5182511685a1dc7961a54b30bf3eedc |
|
11-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue where we might not be able to track down a real definition of a forward declaration to a struct and hangle it gracefully (don't crash trying to ask clang how many children an empty record has). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
cf18faaf72090a68480145ca206955d792633559 |
|
09-Nov-2010 |
Sean Callanan <scallanan@apple.com> |
Added a named container for the source QualType in the type copy routine to make type problems easier to debug. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
23cf0c7880761e2546c1a83920d82a46e0ade837 |
|
08-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Cleaned up the pseudo terminal code in ProcessGDBRemote as it was spawning a pseudo terminal even when the process being attached to. Fixed a possible crasher in the in: bool ClangASTContext::IsAggregateType (clang_type_t clang_type); It seems that if you pass in a record decl, enum decl, or objc class decl and ask it if it is an aggregate type, clang will crash. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e005f2ce03c489ebde9110678a29cbfe8488d5b4 |
|
06-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Modified all logging calls to hand out shared pointers to make sure we don't crash if we disable logging when some code already has a copy of the logger. Prior to this fix, logs were handed out as pointers and if they were held onto while a log got disabled, then it could cause a crash. Now all logs are handed out as shared pointers so this problem shouldn't happen anymore. We are also using our new shared pointers that put the shared pointer count and the object into the same allocation for a tad better performance. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8ff5d55184d7c491d9c0d34a717264ab10396138 |
|
02-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed cases where we were translating "long long" types to use the "long" types when they are the same size. The new code will use the correct type now when converting DWARF built-in types into clang types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8950c9a1faa1eb762d92ccdc860dc2eaa88a6868 |
|
29-Oct-2010 |
Sean Callanan <scallanan@apple.com> |
Updated LLVM to latest version as of 10/28 at 7pm, and made minor integration fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ad5b61b871bace8dd7b28862662ed7f165d47267 |
|
28-Oct-2010 |
Sean Callanan <scallanan@apple.com> |
Explicatory comment for folks that may not be familiar with the ownership relationships involving Diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
839fde455820d7758685f5eb2257a83e96ca68d2 |
|
28-Oct-2010 |
Sean Callanan <scallanan@apple.com> |
Logging fixes. Added a simple class to handle logging for type importing, making errors much easier to diagnose. Also removed some Objective-C related logging. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6bc44a42f193a4b4b66d73587f742aaa51da2ac3 |
|
27-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Don't include the ":" character when building the selector identifiers when making objective C classes from the DWARF. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f3d0b0c8081691128626eb496fdfcbf8ae54c1de |
|
27-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Updated the lldb_private::Flags class to have better method names and made all of the calls inlined in the header file for better performance. Fixed the summary for C string types (array of chars (with any combo if modifiers), and pointers to chars) work in all cases. Fixed an issue where a forward declaration to a clang type could cause itself to resolve itself more than once if, during the resolving of the type itself it caused something to try and resolve itself again. We now remove the clang type from the forward declaration map in the DWARF parser when we start to resolve it and avoid this additional call. This should stop any duplicate members from appearing and throwing all the alignment of structs, unions and classes. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
04325065a00f646527db85e9bc751da29ac53b23 |
|
25-Oct-2010 |
Sean Callanan <scallanan@apple.com> |
Fixes to Objective-C built-in type handling. Specifically, we fixed handling of the objc_class built-in type, which allowed us to pass named Objective-C objects to functions, call variable list -t on objects safely, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
bf8e42b9da0e1c6349a727d644ad37610b00d556 |
|
15-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed an expression parsing issue where if you were stopped somewhere without debug information and you evaluated an expression, a crash would occur as a result of an unchecked pointer. Added the ability to get the expression path for a ValueObject. For a rectangle point child "x" the expression path would be something like: "rect.top_left.x". This will allow GUI and command lines to get ahold of the expression path for a value object without having to explicitly know about the hierarchy. This means the ValueObject base class now has a "ValueObject *m_parent;" member. All ValueObject subclasses now correctly track their lineage and are able to provide value expression paths as well. Added a new "--flat" option to the "frame variable" to allow for flat variable output. An example of the current and new outputs: (lldb) frame variable argc = 1 argv = 0x00007fff5fbffe80 pt = { x = 2 y = 3 } rect = { bottom_left = { x = 1 y = 2 } top_right = { x = 3 y = 4 } } (lldb) frame variable --flat argc = 1 argv = 0x00007fff5fbffe80 pt.x = 2 pt.y = 3 rect.bottom_left.x = 1 rect.bottom_left.y = 2 rect.top_right.x = 3 rect.top_right.y = 4 As you can see when there is a lot of hierarchy it can help flatten things out. Also if you want to use a member in an expression, you can copy the text from the "--flat" output and not have to piece it together manually. This can help when you want to use parts of the STL in expressions: (lldb) frame variable --flat argc = 1 argv = 0x00007fff5fbffea8 hello_world._M_dataplus._M_p = 0x0000000000000000 (lldb) expr hello_world._M_dataplus._M_p[0] == '\0' git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
48fbdf7ffd3c5e28e7b954ed92345c1c45256109 |
|
12-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Modified the "breakpoint set --name NAME" to be the auto breakpoint set function. It will inspect NAME and do the following: - if the name contains '(' or starts with "-[" or "+[" then a full name search will happen to match full function names with args (C++ demangled names) or full objective C method prototypes. - if the name contains "::" and no '(', then it is assumed to be a qualified function name that is in a namespace or class. For "foo::bar::baz" we will search for any functions with the basename or method name of "baz", then filter the results to only those that contain "foo::bar::baz". This allows setting breakpoint on C++ functions and methods without having to fully qualify all of the types that would appear in C++ mangled names. - if the name contains ":" (not "::"), then NAME is assumed to be an ObjC selector. _ otherwise, we assume just a plain function basename. Now that "--name" is our "auto" mode, I introduced the new "--basename" option ("breakpoint set --basename NAME") to allow for function names that aren't methods or selectors, just basenames. This can also be used to ignore C++ namespaces and class hierarchies for class methods. Fixed clang enumeration promotion types to be correct. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ad60bf486dee699dd524225b63271ddc5b6329b9 |
|
12-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed the Objective C method prototypes to be correct (the selectors weren't being chopped up correctly). The DWARF plug-in also keeps a map of the ObjC class names to selectors for easy parsing of all class selectors when we parse the class type. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
306edcaab871503192162272c147aef89d0ee719 |
|
11-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue where objc types weren't ever getting fully resolved (beyond forward declarations). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
5325a360f3e7ca7bd053aa75e828953105d10069 |
|
02-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
One final patch for all of this class constructor, destructor, and conversion operator naming stuff. We now get the constructor and destructor names right after passing in the type, and we get the correct conversion operator name after passing in the return type when getting the DeclarationNameInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
dbf26158d1a50a1ff46e97e92481fc4d19c8ec98 |
|
02-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Get the declaration names for C++ ctors, dtors, and operators from the right name pools. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
90e325d6aefb5e85c31982a745c4147b50dcac3c |
|
01-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Added correct C++ method declarations for destructors and for conversion operators. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
30449d50f5328ca745d09d943b7e3b1ba41bff08 |
|
01-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Make C++ constructors and destructors correctly within the clang types we generate from DWARF. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
55b6c534bb14111eb371d0665c3e3063769acdc9 |
|
29-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Updated LLVM to: --revision '{2010-09-28T19:30}' This gets us the new clang::CXXRecordDecl improvments in clang so that when we add fields, methods and other things to the clang::CXXRecordDecl, the correct bits are automatically set by clang::CXXRecordDecl itself instead of having SEMA and our lldb_private::ClangASTContext functions that create types for DWARF do it all manually. This allows the clang::ASTContext deep copying of types to work correctly and it means that the expression parser can now evaluate expressions in the context of a class method correctly. Previously when a class was copied from the DWARF generated ASTContext over into the expression ASTContext, we were losing CXXRecordDecl bits in the conversion which caused all classes to think they were at offset zero because the the bools for empty, POD, and others would end up being incorrect. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
462d4147f3bb9141bf62d904f58a623db00669df |
|
29-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed the forward declaration issue that was present in the DWARF parser after adding methods to C++ and objective C classes. In order to make methods, we need the function prototype which means we need the arguments. Parsing these could cause a circular reference that caused an assertion. Added a new typedef for the clang opaque types which are just void pointers: lldb::clang_type_t. This appears in lldb-types.h. This was fixed by enabling struct, union, class, and enum types to only get a forward declaration when we make the clang opaque qual type for these types. When they need to actually be resolved, lldb_private::Type will call a new function in the SymbolFile protocol to resolve a clang type when it is not fully defined (clang::TagDecl::getDefinition() returns NULL). This allows us to be a lot more lazy when parsing clang types and keeps down the amount of data that gets parsed into the ASTContext for each module. Getting the clang type from a "lldb_private::Type" object now takes a boolean that indicates if a forward declaration is ok: clang_type_t lldb_private::Type::GetClangType (bool forward_decl_is_ok); So function prototypes that define parameters that are "const T&" can now just parse the forward declaration for type 'T' and we avoid circular references in the type system. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
974fddb5c78e9a754f0894c99a70ed777a8548c3 |
|
28-Sep-2010 |
Johnny Chen <johnny.chen@apple.com> |
Fix from Jean-Daniel. Thanks. Error in object runtime language detection code (spurious '; ') Also replace false by NULL in a place where the compiler expects a pointer instead of a bool. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
1d8173f1b622482bd6610cc34ffd5668b75cf7bd |
|
24-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Added the ability to create an objective C method for an objective C interface in ClangASTContext. Also added two bool returning functions that indicated if an opaque clang qual type is a CXX class type, and if it is an ObjC class type. Objective C classes now will get their methods added lazily as they are encountered. The reason for this is currently, unlike C++, the DW_TAG_structure_type and owns the ivars, doesn't not also contain the member functions. This means when we parse the objective C class interface we either need to find all functions whose names start with "+[CLASS_NAME" or "-[CLASS_NAME" and add them all to the class, or when we parse each objective C function, we slowly add it to the class interface definition. Since objective C's class doesn't change internal bits according to whether it has certain types of member functions (like C++ does if it has virtual functions, or if it has user ctors/dtors), I currently chose to lazily populate the class when each functions is parsed. Another issue we run into with ObjC method declarations is the "self" and "_cmd" implicit args are not marked as artificial in the DWARF (DW_AT_artifical), so we currently have to look for the parameters by name if we are trying to omit artificial function args if the language of the compile unit is ObjC or ObjC++. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
47a5c4c01066ece2d41cba56c3a065eeca12d47c |
|
23-Sep-2010 |
Sean Callanan <scallanan@apple.com> |
Updated to latest LLVM. Major LLVM changes: - Sema is now exported (and there was much rejoicing.) - Storage classes are now centrally defined. Also fixed some bugs that the new LLVM picked up. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
412440aa3a110e4068ee99729f7883c828fb3dce |
|
23-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Added motheds to C++ classes as we parse them to keep clang happy. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a4e27afe72b9b918cea837e5b8b293e8edfe1555 |
|
22-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Added some comments explaining why we currently have to manually set CXXRecordDecl variables. This is because SEMA is actually calling the accessors that should be built into the CXXRecordDecl class. We have an internal bug tracking this change and will remove the affected work around code when a solution is available. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
22d5fe3efb43c7ad76e12cfd764848f7103f6a8c |
|
22-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed CXXRecordDecl declaration settings for whether a class in a POD type or not. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
bba60fbd151ff3c36719c35e7bcb0fdfb0dd9ebc |
|
21-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue with the clang type creation code for C++ classes where we wouldn't set a CXXRecordDecl to be NOT empty if we had base classes that were not empty or had virtual functions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
3c9c5eb466869ede185e879d14a47335fb43194d |
|
21-Sep-2010 |
Sean Callanan <scallanan@apple.com> |
Removed the hacky "#define this ___clang_this" handler for C++ classes. Replaced it with a less hacky approach: - If an expression is defined in the context of a method of class A, then that expression is wrapped as ___clang_class::___clang_expr(void*) { ... } instead of ___clang_expr(void*) { ... }. - ___clang_class is resolved as the type of the target of the "this" pointer in the method the expression is defined in. - When reporting the type of ___clang_class, a method with the signature ___clang_expr(void*) is added to that class, so that Clang doesn't complain about a method being defined without a corresponding declaration. - Whenever the expression gets called, "this" gets looked up, type-checked, and then passed in as the first argument. This required the following changes: - The ABIs were changed to support passing of the "this" pointer as part of trivial calls. - ThreadPlanCallFunction and ClangFunction were changed to support passing of an optional "this" pointer. - ClangUserExpression was extended to perform the wrapping described above. - ClangASTSource was changed to revert the changes required by the hack. - ClangExpressionParser, IRForTarget, and ClangExpressionDeclMap were changed to handle different manglings of ___clang_expr flexibly. This meant no longer searching for a function called ___clang_expr, but rather looking for a function whose name *contains* ___clang_expr. - ClangExpressionParser and ClangExpressionDeclMap now remember whether "this" is required, and know how to look it up as necessary. A few inheritance bugs remain, and I'm trying to resolve these. But it is now possible to use "this" as well as refer implicitly to member variables, when in the proper context. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
823533e4fd5124e7d5dd26198a50bf9362317a5d |
|
18-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Bug #: 8447030 Fixed an issue with ClangASTContext::GetIndexOfChildMemberWithName() where objective C ivars were not being found correctly if they were the second or higher child. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
795230029c9c8ff35c167ee5f548b1b373b89c33 |
|
17-Sep-2010 |
Sean Callanan <scallanan@apple.com> |
Re-committed AddMethodToCXXRecordType, now that the bug I introduced to ClangASTContext is resolved. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
a751f7b1baa037ab6e9398f7bf5eb3a36a84e984 |
|
17-Sep-2010 |
Sean Callanan <scallanan@apple.com> |
Added a static function to get the void type for an ASTContext; also added a function to get the Clang-style CVR qualifiers for a type as an unsigned int. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ca4a1822367c7090498ee99a0ee297c76023df68 |
|
17-Sep-2010 |
Johnny Chen <johnny.chen@apple.com> |
Reverted r114125, r114124, and r114123 as it broke the test suite - segfaults when running test/class_types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
d7d82d4c068b7dfadbac818f46dbc11c0f623c81 |
|
17-Sep-2010 |
Sean Callanan <scallanan@apple.com> |
Added AddMethodToCXXRecordType. This is not yet tested, but I'm committing because it's not used anywhere and I want to avoid conflicts. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
2ea8f27fe76e30ba8fff1f58a50ad3e409e8a8ba |
|
16-Sep-2010 |
Sean Callanan <scallanan@apple.com> |
Made CreateFunctionType static. Also fixed the spelling for CreateParameterDeclaration. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
60a0ced7da29dbe746115d7ae3498c0e1af5d58a |
|
16-Sep-2010 |
Sean Callanan <scallanan@apple.com> |
Made AddFieldToRecordType a static method on ClangASTContext. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
03e0f97cfa469792dd69b36f782d33a014225788 |
|
13-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Added the summary values for function pointers so we can show where they point to. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e37f23c664f91f38b77029159b29dc62ca19bcb0 |
|
13-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed a crash that would happen when using "frame variables" on any struct, union, or class that contained an enumeration type. When I was creating the clang enumeration decl, I wasn't calling "EnumDecl::setIntegerType (QualType)" which means that if the enum decl was ever asked to figure out it's bit width (getTypeInfo()) it would crash. We didn't run into this with enum types that weren't inside classes because the DWARF already told us how big the type was and when we printed an enum we would never need to calculate the size, we would use the pre-cached byte size we got from the DWARF. When the enum was in a struct/union/class and we tried to layout the struct, the layout code would attempt to get the type info and segfault. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
585660cc442f7faf8d2cbd936e4c92ac689c30e5 |
|
05-Aug-2010 |
Greg Clayton <gclayton@apple.com> |
More missing files from my previous checkin. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
960d6a40711f05effe6fcc5b66f0952450f79ea2 |
|
03-Aug-2010 |
Greg Clayton <gclayton@apple.com> |
Added support for objective C built-in types: id, Class, and SEL. This involved watching for the objective C built-in types in DWARF and making sure when we convert the DWARF types into clang types that we use the appropriate ASTContext types. Added a way to find and dump types in lldb (something equivalent to gdb's "ptype" command): image lookup --type <TYPENAME> This only works for looking up types by name and won't work with variables. It also currently dumps out verbose internal information. I will modify it to dump more appropriate user level info in my next submission. Hookup up the "FindTypes()" functions in the SymbolFile and SymbolVendor so we can lookup types by name in one or more images. Fixed "image lookup --address <ADDRESS>" to be able to correctly show all symbol context information, but it will only show this extra information when the new "--verbose" flag is used. Updated to latest LLVM to get a few needed fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@110089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
6e71340988075f55c85e8bfcbc503ceaceb157c7 |
|
30-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Updated to llvm/clang from July 30, 2010 at 08:00. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
b63cbd458640aa6cb66e45b96c6cc4a1a6500b00 |
|
29-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Removed pending TODOs after resolving them with help of the clang folks and the discussion list. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
7b54103814527f5eeaa022d1a8a20cf8d2d864e5 |
|
29-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed "void *ClangASTContext::CreatePointerType (void *clang_type);" to return objective C pointers for clang::Type::TypeClass types that are "clang::Type::ObjCObject" and "clang::Type::ObjCInterface" . git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
9488b7423b556c7c777b721d2094fd5ec4a47578 |
|
28-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Created lldb::LanguageType by moving an enumeration from the lldb_private::Language class into the enumerations header so it can be freely used by other interfaces. Added correct objective C class support to the DWARF symbol parser. Prior to this fix we were parsing objective C classes as C++ classes and now that the expression parser is ready to call functions we need to make sure the objective C classes have correct AST types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f8e98a6e4560c632a9c0373abee247e747097845 |
|
23-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Warnings cleanup patch from Jean-Daniel Dupas. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
84f8075072eef306234f8109573067647735c111 |
|
22-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Added a new enumeration named "ClangASTContext::AccessType" that abstracts the type creation from the various access enumerations in Clang. Currently there are clang::AccessSpecifier and the objective C ivars have their own enumeration. So I added a new enumeration that will allow a consistent interface when creating types through ClangASTContext. I also added new functions to create an Objective C class, ivar and set an objective C superclass. They aren't hooked up in the DWARF parser yet. That is the next step, though I am unsure if I will do this in the DWARF parser or try and do it generically in the existing Record manipulation functions. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
1674b12bbc3dae7b9543b8c5f958e90ddc767fa4 |
|
22-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Change over to using the definitions for mach-o types and defines to the defines that are in "llvm/Support/MachO.h". This should allow ObjectFileMachO and ObjectContainerUniversalMachO to be able to be cross compiled in Linux. Also did some cleanup on the ASTType by renaming it to ClangASTType and renaming the header file. Moved a lot of "AST * + opaque clang type *" functionality from lldb_private::Type over into ClangASTType. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
53d68e749f0715691a95f23e9490d97e484b15da |
|
21-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Remove use of STL collection class use of the "data()" method since it isn't part of C++'98. Most of these were "std::vector<T>::data()" and "std::string::data()". git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
8d82506a78f7cd8f5d195bf86b7dffaa9ebc06fa |
|
16-Jul-2010 |
Sean Callanan <scallanan@apple.com> |
Oops, didn't define AreTypesSame correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
5510dddc33260a991284ef81ca343594f23262e8 |
|
16-Jul-2010 |
Sean Callanan <scallanan@apple.com> |
Added a function to test whether two types are the same. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
bef1583b89e73de77c8b0897fcf42b5b1fcabe4c |
|
14-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
I enabled some extra warnings for hidden local variables and for hidden virtual functions and caught some things and did some general code cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
54e7afa84d945f9137f9372ecde432f9e1a702fc |
|
09-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Merged Eli Friedman's linux build changes where he added Makefile files that enabled LLVM make style building and made this compile LLDB on Mac OS X. We can now iterate on this to make the build work on both linux and macosx. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
bc4f0f59ed752f511ceb1afaf5d379cf52014484 |
|
08-Jul-2010 |
Sean Callanan <scallanan@apple.com> |
Moved NDEBUG from a global setting to a specific hack. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
ccfba727178bb919cdff3365839bed9584df2560 |
|
07-Jul-2010 |
Jason Molenda <jmolenda@apple.com> |
Switch over to using llvm's dwarf constants file. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e9d0df45df0ee87623985d1e59947a2ca50c14ea |
|
02-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
More leaks detection: - fixed 3 posix spawn attributes leaks - fixed us always leaking CXXBaseSpecifier objects when we create class base classes. Clang apparently copies the base classes we pass in. Fixed some code formatting in ClangASTContext.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
f05633b35544b5d095feb05680c8728be087e441 |
|
13-Jun-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Add missing stdio.h include; fix include path for ClangASTContext.h. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
e41c4b2a407ebc4bf7b7452c1f46d194671ec31d |
|
13-Jun-2010 |
Greg Clayton <gclayton@apple.com> |
Updated LLVM/Clang to revision from 2010-06-13T06:00. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
fa97069b86f30aa44bb23a1de506ae220359b4fa |
|
12-Jun-2010 |
Greg Clayton <gclayton@apple.com> |
Anders Carlsson patch for member pointers. Thanks Anders. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|
24943d2ee8bfaa7cf5893e4709143924157a5c1e |
|
08-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
Initial checkin of lldb code from internal Apple repo. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Symbol/ClangASTContext.cpp
|