[PATCH] D37162: [CodeView] Don't output S_UDT records for incomplete typedefs

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 25 18:35:58 PDT 2017


It's possible i misunderstood something since I haven't done much in this
area, so i will try to write a test case that illustrates what I'm thinking
of. Maybe I won't be able to, in which case you're right :)
On Fri, Aug 25, 2017 at 6:13 PM Reid Kleckner via Phabricator <
reviews at reviews.llvm.org> wrote:

> rnk added inline comments.
>
>
> ================
> Comment at: llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp:2205
> +/// encountering a situation where we want to emit an S_UDT, but all we
> have
> +/// seen so far is a forward decl of the type that the S_UDT refers to.
> For
> +/// example, consider this code:
> ----------------
> All this discussion of what we have and haven't seen doesn't make sense to
> me. As long as we keep looking at the DI metadata, we know up front what
> types will be complete and what types used forward decls. Clang replaces
> forward decls with complete DICompositeTypes when it thinks it needs one.
>
> We should be able to look at a DIType before we add it to the UDT list and
> say, "after looking through pointers and qualifiers, does this refer to a
> complete class or struct type?" If yes, add it, otherwise, don't.
>
>
> https://reviews.llvm.org/D37162
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170826/a2f09007/attachment.html>


More information about the llvm-commits mailing list