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 [email protected] _______________________________________________ bug-groff mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-groff
