This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [RFC] Large file iostreams
- From: Paolo Carlini <pcarlini at unitus dot it>
- To: Pétur Runólfsson <peturr02 at ru dot is>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Mon, 13 Oct 2003 17:34:49 +0200
- Subject: Re: [RFC] Large file iostreams
- References: <07D05A69A3D0C14FAEA60C3ACE8E5564028F55EF@mail.ru.is>
Pétur Runólfsson wrote:
I don't remember well the pros and cons of both, but this doesn't
seem such a difficult to resolve issue.
All 3 have the same problem; they are C99 types. int64_t best
describes the intent, but not all platforms have stdint.h yet.
long long is supplied by the compiler so it is available
everywhere, and it's required to be at least 64 bits, but it
may also be larger (I'm not sure it is on any current platform).
All this can easily be handled with autoconf.
Agreed.
I think it's best to do this change in two steps:
1) Change streamoff to be a class type, but keep using long as the
underlying type.
2) Switch to lseek64 and change the underlying type.
Again, 100% agreed!
There is one more issue I would like input on before preparing a
patch. Is config/os/gnu-linux/fpos.h needed? It doesn't seem to
provide much over the generic version, it doesn't support stateT
other than mbstate_t, and having two versions of the code makes
testing harder.
Honestly, dunno...
I suggest going ahead and preparing a draft patch: it looks like you
have (as per usual ;) the ideas already very clear... Great!
Paolo.