[PATCH] -gused
Devang Patel
dpatel@apple.com
Sat Jun 21 01:20:00 GMT 2003
On Friday, June 20, 2003, at 4:23 PM, Richard Henderson wrote:
> On Fri, Jun 20, 2003 at 03:37:50PM -0700, Devang Patel wrote:
>> --- gcc/dbxout.c 20 Jun 2003 22:27:25 -0000
>> + extern int flag_debug_only_used_symbols;
>
> Should be in flags.h.
Yes. I'll remove this redundant line.
>> - dbxout_symbol (decl, 0);
>> + {
>> + int saved_tree_used = TREE_USED (decl);
>> + TREE_USED (decl) = 1;
>> + dbxout_symbol (decl, 0);
>> + TREE_USED (decl) = saved_tree_used;
>> + }
>
> Why? Should definitely be a comment there, whatever the answer is.
It is to intercept call from outside. dbxout_symbol now only emits
symbols
which are used so this is done to avoid overwriting TREE_USED bit
unnecessarily.
>
>> *************** dbxout_finish (filename)
>> *** 719,724 ****
>> --- 732,743 ----
>> #ifdef DBX_OUTPUT_MAIN_SOURCE_FILE_END
>> DBX_OUTPUT_MAIN_SOURCE_FILE_END (asmfile, filename);
>> #endif /* DBX_OUTPUT_MAIN_SOURCE_FILE_END */
>> + if (symbol_queue)
>> + {
>> + free (symbol_queue);
>> + symbol_queue = NULL;
>> + symbol_queue_size = 0;
>> + }
>
> Didn't get moved?
Need to write free_symbol_queue() :-)
>
>> + if ((TREE_CODE (type) == RECORD_TYPE
>> + || TREE_CODE (type) == UNION_TYPE
>> + || TREE_CODE (type) == QUAL_UNION_TYPE
>> + || TREE_CODE (type) == ENUMERAL_TYPE)
>> + && TYPE_STUB_DECL (type)
>> + && TREE_CODE_CLASS (TREE_CODE (TYPE_STUB_DECL (type))) == 'd'
>> + && ! DECL_IGNORED_P (TYPE_STUB_DECL (type)))
>
> You have this complex test replicated many times. Seems like
> you'd just send in "type" and be done with it.
>
>> + extern tree *symbol_queue;
>> + extern int symbol_queue_index;
>> + extern int symbol_queue_size;
>
> VARRAY?
I have not thought much about this.
> Any reason this is part of the public interface?
Because I need to write free_symbol_queue() :-)
>> + debug_queue_symbol (tree decl)
>
> I'd actually had it in my head to have final call the queueing
> functions directly, instead of the calling the debug functions
> directly. Not that this just be a library for the debug functions
> to call.
Can you explain this little bit more?.
-Devang
More information about the Gcc-patches
mailing list