[Top][All Lists]
[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