This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 06/04/2015 02:39 PM, Jason Merrill wrote:
On 06/04/2015 02:23 PM, Jason Merrill wrote:On 06/03/2015 10:42 AM, Aldy Hernandez wrote:+ /* Die was generated early via dwarf2out_early_global_decl. */ + BOOL_BITFIELD dumped_early : 1;Missed a "dump". Actually, why do we need this flag? The uses I see are * to avoid declaring prototype parameters multiple times
It used to verify the sanity of the late limbo list. I can remove this though if you want.
dwarf2out_decl() also has a sanity check to verify that early dumped DIEs are not generated again. I can remove this as well if you prefer.
And finally, I believe the big block you speak of below has a check for dumped_early, that may or may not allow it to distinguish for things that happen in LTO which still acts like traditional late dwarf. I haven't checked this though... but if you want it removed I can check and retest.
Can't we just assume that if we have an old DIE, it already has parameters? * to make the logic in gen_variable_die even more horrible It's really not clear to me that we need the new big block of code. I would think that it should be enough to update this:/* If the compiler emitted a definition for the DECL declaration + and we already emitted a DIE for it, don't emit a second DIE for it again. Allow re-declarations of DECLs that are inside functions, though. */ - if (old_die && declaration && !local_scope_p (context_die)) return;to add locations instead of just returning when !early_dwarf. Incidentally, why did you change "declaration" to "!declaration" in this condition?Ah, wait. If we revert that mysterious change, it's clear again that this check is just dealing with avoiding duplicate declarations, so within this condition isn't the right place for adding locations to early DIEs; that should probably happen right after this.
This was in Michael Matz's original prototype. I'm surprised it survived this long.
So... if I revert the !declaration change and move the big block below said change, would you be OK with it, or did you still want some changes to it?
Aldy
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |