[llvm-bugs] [Bug 38822] debug info is missing information about a structure.

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Sep 4 11:24:06 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=38822

Reid Kleckner <rnk at google.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rnk at google.com
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Reid Kleckner <rnk at google.com> ---
Emitting a declaration for struct types when the type is not required to be
complete (i.e. none of the fields are referenced) is an important debug info
size optimization for many of our users.

If the struct is used anywhere in your program, the complete struct definition
should be provided by the TU that uses it. If only part of your program is
compiled with debug info, you can use -fstandalone-debug (or
-fno-limit-debug-info, another alias) to get clang to emit everything.

It's possible that we don't have the right default, but for many users,
emitting more debug info by default would make binaries unusably large. If, at
some point in the future, we can enable DWARF type units or other type info
deduplication technology by default, we might be able to emit all types by
default, and put this size optimization behind a flag for users with
particularly large binaries.

I'm not sure what the best resolution status is for this, but I will use
"fixed" to mean that a flag exists for the behavior that you want.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180904/d0e87f9a/attachment.html>


More information about the llvm-bugs mailing list