bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: groff 1.21: build failure with GCC2.95


From: Christian Weisgerber
Subject: Re: groff 1.21: build failure with GCC2.95
Date: Mon, 21 Mar 2011 16:52:06 +0100
User-agent: Mutt/1.4.2.3i

Werner LEMBERG:

> > groff 1.21, and apparently many older releases, doesn't build with
> > GCC2.95.  The reason appears to be a simple name clash over
> > "input_iterator" between src/roff/troff/input.cpp and old libstdc++:
> >
> > +#define input_iterator my_input_iterator
> 
> Thanks.  Can you please refine your patch so that this #define is only
> used for affected gcc versions?

I assumed you'd want to rename input_iterator.  That #define is
just a hack.  I don't know which gcc versions are affected exactly.
>From the compiler versions I have readily at hand:

2.95.3  yes
3.3.5   no
4.2.1   no

GCC2.95 is still used by OpenBSD on some old architectures, in
particular sparc (the 32-bit ones) and vax.

It seems "input_iterator" disappeared from GCC's STL when libstdc++ was
rewritten as libstdc++-v3.  So something like

#if defined(__GNUC__) && (__GNUC__ < 3)
#define input_iterator my_input_iterator
#endif

might do.

> In the groff ChangeLog file, `input_iterator' is mentioned the
> first time in 1990, and James Clark has always used gcc for building,
> AFAIK.

Whatever the syntactic details, it's the change from "struct
input_iterator" to "class input_iterator" in src/roff/troff/input.cpp
rev 1.13 that causes gcc to error out.  I assume you were running
GCC3 by then.

-- 
Christian "naddy" Weisgerber                          address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]