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

Reid Kleckner <r...@google.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |r...@google.com
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Reid Kleckner <r...@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to