[distcc] gcc bootstraps with distcc

Alexandre Oliva aoliva at redhat.com
Sun Aug 3 13:56:46 GMT 2003


On Jul 11, 2003, Alexandre Oliva <aoliva at redhat.com> wrote:

> On Aug 23, 2002, Alexandre Oliva <aoliva at redhat.com> wrote:

>> Unfortunately, the bootstrap compare test still failed :-(

>> The reason is that gcc generates different debugging information for a
>> source file such as:

>> #define FOO(X)
>> int FOO((x, y,
>> z, w)) bar;
>> int baz;

>> If we preprocess this code and compile it separately (e.g.,
>> -save-temps), the result is:

>> # 2 "<filename>"
>> int bar;

>> int baz;

>> i.e., the declaration of bar is moved from line 3 to line 2.  However,
>> with integrated preprocessing, the declaration of bar is correctly
>> flagged as in line 3 in debugging information.  This difference is
>> enough for the bootstrap compare to fail, since at least varray.h
>> contains a number of union member declarations like above, with
>> multi-line GTY() macro invocations between the types and the
>> declarators.  Oh, well...

>> This should probably be fixed.  I don't think it's good that compiling
>> with or without -save-temps can result in different assembly output.
>> Neil, Zack, any comments?

> I've written patches that fixed this problem, but they were rejected
> or ignored.  There's not even agreement that this is a legitimate bug
> :-(

> The way I'm thinking of fixing it is to try to figure out when we
> finish expanding the outermost macro, and at that point emit an
> explicit line&column adjust to get back in sync with what the
> integrated preprocessor would use.

It was actually simpler and sufficient to simply let line-breaks
through while parsing functional-macro arguments.  Column numbers go
out of sync, but Neil doesn't care, so...

With this patch and the one I posted about 1 hour ago, a bootstrap of
GCC with distcc passes without having to disable the use of localhost.
Ok to install?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: distcc-cppout-macro-line-change.patch
Type: text/x-patch
Size: 830 bytes
Desc: not available
Url : http://lists.samba.org/archive/distcc/attachments/20030803/811a888b/distcc-cppout-macro-line-change.bin
-------------- next part --------------

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


More information about the distcc mailing list