This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Create common hooks structure shared between driver and cc1
On Wed, 25 May 2011, Tom Tromey wrote:
> I believe the bugs referenced here were the problem:
>
> http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01680.html
>
> Both these bugs use .INTERMEDIATE in their test cases, but it isn't
> clear to me that this is a sufficient condition.
The problem is that the reversion commit (r133652) doesn't mention
.INTERMEDIATE or .SECONDARY, so I can't identify the particular feature
that's causing the problems. But the problem feature isn't the includes
of the dependency files, since the hang still occurs with those includes
commented out.
I think a new attempt at this should be more incremental: separate pieces
might include:
* Changes to the names under which files are built (to go in the relevant
subdirectories).
* Changes to avoid the need for so many compilation rules (setting
variables for the relevant targets in one way or another).
* Changes to the compilation rules to use $(COMPILE).
* Changes to make $(COMPILE) generate automatic dependency files.
* Changes to actually use those files.
* Changes to ensure that, when the old manual dependencies are removed,
generated headers still get built in time.
* Changes to remove the old manual dependencies.
With each patch tested against the reliable reproducer in
<http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01663.html>, it should
hopefully be possible to get the benefits of some of the above changes
without triggering the bug - and to understand better when the bug appears
just what the cause is and whether it can be worked around or not.
--
Joseph S. Myers
joseph@codesourcery.com