This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Name unnamed passes and change duplicate pass names
I cannot approve it, but having done approx. half of the dump file
system, I think this is good to go
except for...
> +/* True if a set of TODO flags include any option that will output to
> + ? a dump file. ?*/
> +
> +static bool
> +todo_includes_dump (unsigned int flags)
> +
> +static bool
> +needs_dump_file (struct opt_pass *pass)
making these two functions inline.
But...
> - ? ? ?if (pass->name && pass->name[0] != '*')
> + ? ? ?gcc_assert (pass->name);
> + ? ? ?if (needs_dump_file (pass) && pass->name[0] != '*')
what if you call those passes like "*all_optimizations" and just write
if (pass->name[0] != '*')
(No need to assert, it will crash on the following access).
> - ? ? ?if (pass->name)
> + ? ? ?if (needs_dump_file (pass))
and write here also just
if (pass->name[0] != '*')
> ? if (!quiet_flag && !cfun)
> - ? ?fprintf (stderr, " <%s>", pass->name ? pass->name : "");
> + ? ?fprintf (stderr, " <%s>", pass->name);
Everything else should be okay instead.
Sorry for not remembering about this detail! If maintainers decide
the other way round, the asterisk thing can be removed (but that's a
followup patch). I'm ambivalent.
Paolo