Mail Archives: djgpp/2000/08/13/13:46:42
"Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il> wrote:
> > Most of these FAQs probably stem from #include <iostream>, which has
> > streambuf.h nested in it.
>
> This is only one of the problems. Take a look at lang/cxx and
> lang/cxx/std: there are a lot of files there whose names exceed the
> DOS 8+3 limits.
Yep, I see them. I am assuming that most of the FAQs to this group
are due to including the most common header - iostream.
> > How about making a copy of streambuf.h with
> > an 8.3 filename and editing the nested include within iostream.h?
>
> You suggest a manual solution. This is error prone (what if someone
> who ports GCC forgets to do that?), and it doesn't solve the case when
> a new header is introduced with a new release of GCC that wasn't known
> before.
It's a bodge, yes, and a way to reduce the number of FAQs (maybe ;-).
> Anyway, thanks for the suggestions.
You are welcome. Though I think the -remap option suggested by
yourself and Andris is the most promising, in fact I don't understand
why this is not already done. Except, perhaps, the effort involved in
implementing it.
AFAIK, there is nothing in the C++ standard that requires the header
files to exist with the same names, or in fact to exist as files at
all. Only that after #include <foo>, all the required names are
declared. This, I believe, is partly the reasoning behind dropping
the ".h" and also why the C++ commitee allowed LFNs, which are not
permitted in ANSI C.
It seems very reasonable that gcc should translate #include statements
to a form compatible with the host filesystem. This appears, to me at
least, to be exactly what is intended by the C++ standard.
- Raw text -