PATCH PING: distcc and ccache speedup: adds directives-only preprocessing

Mark Mitchell mark@codesourcery.com
Thu Jul 26 07:16:00 GMT 2007


Ian Lance Taylor wrote:

> I would approve the patch if I could, but, unfortunately, since it
> adds a new option and a new way of reading files, it is probably
> non-algorithmic.

Algorithmic, I think you mean?

This patch is OK, with one caveat: I think the documentation could be
better.

> +@item -fdirectives-only
> +@opindex fdirectives-only
> +This option provides a simplified preprocessor to improve the
> +performance of distributed build systems such as distcc.  It's
> +behavior depends on a number of other flags.

This paragraph doesn't say much.  I think combining it with the next one
would be better:

  With @option{-E}, limit preprocessing to the handling of directives
  such as @code{#define}, @code{#ifdef}, and @code{#error}.  Other
  preprocessor operations, such as macro expansion and trigraph
  conversion are not performed.  In addition, as with @option{-dD},
  macro definitions are included in the output.

> +If the @option{-fpreprocessed} option is enabled, it suppresses
> +predefinition of most builtin and command line macros.  This
> +prevents duplicate definition of macros output with the @option{-E}
> +option.

I don't entirely understand this paragraph.  Does this apply when -E is
in effect?  Does it really suppress *most* macros, or *all* of them?  If
some are not suppressed, *which* are not suppressed?

When the documentation is revised, I will review it -- or, Ian, you can
just review it and approve it, now that I've signed off on the body of
the patch.

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713



More information about the Gcc-patches mailing list