History log of /external/clang/test/CodeGenCXX/debug-info-class.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4967a710c84587c654b56c828382219c3937dacb 20-Sep-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master Clang for rebase to r275480

Bug: http://b/31320715

This merges commit ac9cc4764cf47a6c3f031687d8592e080c9f5001 from
aosp/dev.

Test: Build AOSP and run RenderScript tests (host tests for slang and
libbcc, RsTest, CTS)

Change-Id: Ic2875e5c3673c83448cd7d1013861e42947b1b55
/external/clang/test/CodeGenCXX/debug-info-class.cpp
b6d6993e6e6d3daf4d9876794254d20a134e37c2 01-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master clang for rebase to r239765

Change-Id: I0393bcc952590a7226af8c4b58534a8ee5fd2d99
/external/clang/test/CodeGenCXX/debug-info-class.cpp
3ea9e33ea25e0c2b12db56418ba3f994eb662c04 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master clang for rebase to r233350

Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/test/CodeGenCXX/debug-info-class.cpp
0e2c34f92f00628d48968dfea096d36381f494cb 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master clang for rebase to r230699.

Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/test/CodeGenCXX/debug-info-class.cpp
176edba5311f6eff0cad2631449885ddf4fbc9ea 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master Clang for rebase to r222490.

Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/test/CodeGenCXX/debug-info-class.cpp
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/CodeGenCXX/debug-info-class.cpp
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/CodeGenCXX/debug-info-class.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-class.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-class.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-class.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-class.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-class.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-class.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-class.cpp
6a29f674f649197780a4c60602cd08f491022ac8 22-Aug-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: emit the definition of types when construction vtables are required as these types may never end up emitting the full class data

This might be able to be optimized further by only doing this in the
absence of a key function, but it doesn't look like GCC is doing that so
I'm not rushing to do it just yet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
5434fc29cb3ddbd0466b10a40ac0485f4cd7bc74 20-Aug-2013 David Blaikie <dblaikie@gmail.com> Revert "Revert "Revert "Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class""""

This reverts commit r188687 (reverts r188642 (reverts 188600 (reverts
188576))).

With added test coverage & fix for -gline-tables-only.

Thanks Michael Gottesman for reverting this patch when it demonstrated
problems & providing a reproduction/details to help me track this down.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
90e5523e4cd2230b86c6921b34affdcd35e0c4c0 19-Aug-2013 Michael Gottesman <mgottesman@apple.com> Revert "Revert "Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class"""

This reverts commit r188642.

This change is causing LTO builds to cause our 16 GB machines to swap and OOM
all weekend. I am going to work with Dave Blaikie to resolve the issue.

Sorry Dave =(.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
fcbeab6828268b7b044461e6406baab8d5a91577 18-Aug-2013 David Blaikie <dblaikie@gmail.com> Revert "Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class""

This reverts commit r188600.

r188640/r188639 fixed the root cause of the crash-on-valid that r188600
originally introduced. This now appears to bootstrap debug clang
successfully to the best of my testing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
498298d9d7b20fd67e270711b1a815dc6962d883 18-Aug-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Don't emit vbase 'containing types' for context chain limited types

Possible minor reduction in debug info & avoid some cases where creating
a context chain could lead to the type the context chain is being
created for, being created. (this is still possible with template
parameters - tests/fixes/improvements to follow)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
05a0569aa1fa4191ba2b3fe1c5cb3f080740209c 17-Aug-2013 David Blaikie <dblaikie@gmail.com> Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class"

This reverts commit r188576.

Reverting while I investigate a selfhosting buildbot failure on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
152701b54acf1e09ec4e7c6d6cb16fe6d82e23c6 16-Aug-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class

This reduces Clang's .dwo (fission debug info) size by 23% over
Clang+LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
95f3636c4659cc370716e4fbc93ab8d911e94123 03-Feb-2013 NAKAMURA Takumi <geek4civic@gmail.com> clang/test/CodeGenCXX/debug-info-class.cpp: Tweak to unbreak test for a few targets.

- Relax a expression for arm-gnueabi.
- Exclude msvc to limit target triplets to add limited a few targets.
Feel free to remove actions if guys thought they redundant.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
288c75597c8cb0f96c416dd099b966a043ed86b1 01-Feb-2013 NAKAMURA Takumi <geek4civic@gmail.com> clang/test/CodeGenCXX/debug-info-class.cpp: Fixup for -Asserts.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
0a0f93c90fd397a1aa9f97283c55f8ba0062bf55 01-Feb-2013 David Blaikie <dblaikie@gmail.com> Fix exception handling line table problems introduced by r173593

r173593 made us a little too eager to associate all code at the end of a
function with the user-written 'return' line. This caused problems with
breakpoints as they'd be set in exception handling code preceeding the
actual non-exception return handling code, leading to the breakpoint never
being hit in non-exceptional execution.

This change restores the pre-r173593 exception handling line information where
the cleanup code is associated with the '}' not the return line.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
c9a9177e699897a71670ae211fa053240f41460e 13-Dec-2012 David Blaikie <dblaikie@gmail.com> Debug Info: Emit vtables pointer members as artificial.

I wasn't sure where to put the test case for this, but this seemed like as good
a place as any. I had to reorder the tests here to make them legible while
still matching the order of metadata output in the IR file (for some reason
making it virtual changed the ordering).

Relevant commit to fix up LLVM to actually respect 'artificial' member
variables is coming once I write up a test case for it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
70ae1226d9a479e56ac716396bdf97dc970ac840 03-Nov-2012 David Blaikie <dblaikie@gmail.com> Emit debug info for C++ struct definitions as DW_TAG_structure_type (instead of class_type).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
9417b05ef982bd3dbcae2fa24083b5be00d6c4f1 02-Nov-2012 David Blaikie <dblaikie@gmail.com> Fix debug tag type of forward declarations of struct/class in C++.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp
dabc3e90cc385214a53064d8c44edbece9891ddf 12-Aug-2010 Devang Patel <dpatel@apple.com> Emit debug info for static const class member.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/debug-info-class.cpp