651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
c6d680003196028ed0a05e8da29ab269d6f79651 |
|
09-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: update testing cases when the context and type fields of template_type and template_value are updated to use DIRef. Paired commit with r192320. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
1fe3263a0df6ba164ea3922590a9e585e6737b82 |
|
09-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: update testing cases when the derived-from field of DIDerivedType is updated to use DITypeRef. Paired commit with r192246. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
8e0f65fc23bb668b9e3322bd699f305d8c90b367 |
|
05-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: update testing cases when the derived-from field of a DW_TAG_pointer_type is updated to use DITypeRef. Paired commit with r192018. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
dadbd4797ce12c914580dec51d8973cfed5d37b3 |
|
04-Oct-2013 |
Eric Christopher <echristo@gmail.com> |
Temporarily revert r191801 due to conflicts with the revert of r191792. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
865750e2be4833eb904d8f54d23a8078ac9309dd |
|
02-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: update testing cases when the derived-from field of a DW_TAG_pointer_type is updated to use DITypeRef. Paired commit with r191800. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
db2c42ca845e15a4aa5486031bbfe2738ef58a86 |
|
06-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: Update testing case. DIBuilder now uses an identifier to reference DIType in containing type field of a DICompositeType (in r190190). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
74341d8fd49db382e83008ecea5c0d8ff9d8b6cb |
|
06-Sep-2013 |
David Blaikie <dblaikie@gmail.com> |
PR17046, PR17092: Debug Info assert-on-valid due to member loss when context creation recreates the item the context is created for By removing the possibility of strange partial definitions with no members that older GCC's produced for the otherwise unreferenced outer types of referenced inner types, we can simplify debug info generation and correct this bug. Newer (4.8.1 and ToT) GCC's don't produce this quirky debug info, and instead produce the full definition for the outer type (except in the case where that type is dynamic and its vtable is not emitted in this TU). During the creation of the context for a type, we may revisit that type (due to the need to visit template parameters, among other things) and used to end up visiting it first there. Then when we would reach the original code attempting to define that type, we would lose debug info by overwriting its members. By avoiding the possibility of latent "defined with no members" types, we can be sure than whenever we already have a type in a cache (either a definition or declaration), we can just return that. In the case of a full definition, our work is done. In the case of a partial definition, we must already be in the process of completing it. And in the case of a declaration, the completed/vtable/etc callbacks can handle converting it to a definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
83369bf8f6244f20ae8bfa2fcb3a556f94da27de |
|
30-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: generate a unique identifier for C++ struct, class, union, and enum. We use CXX mangler to generate unique identifier for external C++ struct, union, class and enum. Types with unique identifier are added to retained types by DIBuilder. Testing cases are updated to reflect the unique identifier generated for types. The order of MDNodes is changed because of retained types and testing cases are updated accordingly. Testing case debug-info-uuid.cpp now emits error with Itanium mangler, since uuid is not yet handled in Itanium mangler. And it will check for the error message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
18760453868e9b831b8575ae64119b07ab4dcdf5 |
|
29-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: this reverts commit r189600. We had further discussions on how to retain types, whether to do it in front end or in DIBuilder. And we agree to do it in DIBuilder so front ends generating unique identifier do not need to worry about retaining them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
f1acc31e4586dfec00a20e82094f7ad782d50cc3 |
|
29-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: generate a unique identifier for C++ struct, class, union, and enum. We use CXX mangler to generate unique identifier for external C++ struct, union, class and enum. Types with unique identifier are added to RetainedTypes to make sure they are treated as used even when all uses are replaced with the identifiers. A single type can be added to RetainedTypes multiple times. For example, both createForwardDecl and createLimitedType can add the same type to RetainedTypes. A set is used to avoid duplication when updating AllRetainTypes in DIBuilder. Testing cases are updated to reflect the unique identifier generated for types. The order of MDNodes is changed because of retained types and testing cases are updated accordingly. Testing case debug-info-uuid.cpp now emits error with Itanium mangler, since uuid is not yet handled in Itanium mangler. We choose to update RetainedTypes in clang, then at finalize(), we update AllRetainTypes in DIBuilder. The other choice is to update AllRetainTypes in DIBuilder when creating a DICompositeType with unique identifier. This option requires using ValueHandle for AllRetainTypes in DIBuilder since the created DICompositeType can be modified later on by setContainingType etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
11fa7518cb2cf92db977ccc15f0db97307eac58c |
|
29-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Further fix/improvements to r189494 (and LLVM r189495). Selfhosting was crashing with the same type of problem but involving template specializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
d7feb049c8a7674b274c83c3e3979e8886a54788 |
|
27-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: follow-up patch to r189283. Thanks David for his suggestion. This commit updates testing cases to have more specific CHECKs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
0858246d180a9e654ca6d755f5c12202cef4fc0b |
|
27-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: add an identifier field to DICompositeType. Paired with llvm r189282. Update testing cases to handle an extra field for DICompositeType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
c138ff58683565a0b7f29fd28ac8577710aa5751 |
|
18-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Avoid duplicating types that may be created during the process of creating their context A partner to r188639, this is a somewhat heavy-handed fix to the general issue, since even after that prior change the issue does still unavoidably arise with template parameters (see test case). There are other ways we could consider addressing this (see FIXME). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
d6d5d69f61fba69fdbc5aae72b88a5b367a210ec |
|
09-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
Only emit debug info for implicit members that actually get codegen, not just ODR use. This includes special members (copy/default ctor, copy assign, default ctor) and template specializations for member function templates. Good for a 5% decrease (1.80 to 1.71 GB) in size on Clang+LLVM's .dwo files (when using fission). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
8a40cc6f9cba0aaa1aac477e2b4c4605629dc587 |
|
20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Simplify/generalize some debug info test cases Mostly, try to depend on the annotation comments more so these tests are more legible, brief, and agnostic to schema changes in the future (sure, they're not agnostic to changes to the comment annotations but since they're easier to read they should be easier to update if that happens). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
9556b391091d8a4fa82a9d171f44ef0b3c1ab3f7 |
|
17-Oct-2012 |
Eric Christopher <echristo@gmail.com> |
Revert r158009 since there are some uses of artificial functions in debug info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
3de00ce9075c197b1fcaca69f3b5870a32176349 |
|
05-Jun-2012 |
Eric Christopher <echristo@apple.com> |
Reapply "Only emit debug information for methods that are user defined, there's" As the failing testcase has been fixed. This reverts commit 0637f407e6ee7fdccde17fbf9a5fcc4853187b3e. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
0637f407e6ee7fdccde17fbf9a5fcc4853187b3e |
|
05-Jun-2012 |
John McCall <rjmccall@apple.com> |
Revert "Only emit debug information for methods that are user defined, there's" This reverts r157970, which was not passing on clang-x86_64-darwin10-nobootstrap-RA git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
9b26efe7b62cf6dcb27ce60824e03856cedbea2f |
|
05-Jun-2012 |
Eric Christopher <echristo@apple.com> |
Only emit debug information for methods that are user defined, there's not much reason to emit for constructors and destructors that aren't user defined. rdar://11593099 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
167174518cc9bdd84b27bfad581028f4092cd68c |
|
14-Mar-2012 |
Eric Christopher <echristo@apple.com> |
Add support to mangle templated member function names with template args. Fixes rdar://11042577 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|
3b10cfe6b804cef041ddf85854d2d536f7a82cb6 |
|
14-Mar-2012 |
Eric Christopher <echristo@apple.com> |
When adding member functions to a class add any specializations of function templates as well. A future commit will mangle the added name with the template args like classes are mangled. Fixes rdar://10986010 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-template-member.cpp
|