Re: Bug#303725: specter: FTBFS (amd64/gcc-4.0): syntax error before '{' token
On Fri, Apr 08, 2005 at 07:23:52PM +0200, Verdan wrote:
> Hello
>
> > With the attached patch 'specter' can be compiled
> > on amd64 using gcc-4.0.
>
> It's not so easy. It was done that way to allow specter compile on gcc
> 2.95. This patch makes it impossible, so I hesitate to apply it.
How is it relevant to the Debian package ?
> Moreover fourth version of gcc is really experimental, and if I had to
> choose specter compiling on 4 or 2.95 version I would choose 2.95.
> For telling truth I don't know what to do now; upstream doesn't aprove
> this patch and won't include it in 1.4pre2 version of specter.
> I consider setting ,,wontfix'' tag.
> What do You think about that ?
Debian packages are not required to build with gcc 2.95.
They are not required either to build with gcc 4.0 for sarge, but will
be for etch. It is a better policy to be proactive than to wait until
problems do happen.
Moreover fixing this bug means fixing compilation with gcc-4.0, not
applying the patch provided by the submitter. If the patch has issues
you can reject it, and work with the submitter to write a better one.
Furthermore, there is no technical reason why the patch cannot work with
both 4.0 and 2.95. At worse a bit of cpp magic will fix that.
In the case at hand you could add a macro ENTRY like
#ifdef __GNUC__
#if __GNUC__ >= 4
#define ENTRY(base,name,dat) .base.name.dat = dat
#else
#define ENTRY(base,name,dat) .base.{name.dat = dat}
#endif
#endif
and replace
.value{.ptr = static_values.if_modified_since }}
by
ENTRY(value,ptr,static_values.if_modified_since)
Cheers,
--
Bill. <ballombe@debian.org>
Imagine a large red swirl here.
Reply to: