<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:rnk@google.com" title="Reid Kleckner <rnk@google.com>"> <span class="fn">Reid Kleckner</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - debug info is missing information about a structure."
   href="https://bugs.llvm.org/show_bug.cgi?id=38822">bug 38822</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>rnk@google.com
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>FIXED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - debug info is missing information about a structure."
   href="https://bugs.llvm.org/show_bug.cgi?id=38822#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - debug info is missing information about a structure."
   href="https://bugs.llvm.org/show_bug.cgi?id=38822">bug 38822</a>
              from <span class="vcard"><a class="email" href="mailto:rnk@google.com" title="Reid Kleckner <rnk@google.com>"> <span class="fn">Reid Kleckner</span></a>
</span></b>
        <pre>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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>