From: <dan...@ya...> - 2001-03-23 20:38:14
|
--- Danny Smith <dan...@ya...> wrote: > Date: Tue, 20 Mar 2001 21:14:52 +1200 (NZST) > > > Is someone preparing the 2.95.3 binaries? > > > > I'm longing for that answer too :-) > > > > Regards > > Chris > > > > > > > Is this on anyone's list of todos. > > I've built 2.95.3 with mingw (C,C++,F - not chill or objc) with: > <snip> > > 5. Reversion of some _IO_fpos_t/IO_off-t type changes in libio.h and libioP.h > They did not match code in .cc files. Modifying .cc code to fit prototypes > caused problems with streambuf's, so reverted the headers to match the code. > These ones: > > 1999-12-22 Jakub Jelinek <ja...@re...> > * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of > _IO_fpos_t. > (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of > _IO_fpos64_t. > * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise. > (_IO_seekoff, _IO_seekpos): Likewise. > (_IO_default_seekoff, _IO_default_seekpos): Likewise. > (_IO_default_seek): Likewise. > (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise. > * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t. > * parsestream.h (class parsebuf::pos_at_line_start): Change type > to _IO_off_t. > > Re point 5. I see that Cygwin's distribution of 2.95.3-1 has used the definitions in the ChangeLog above, patching definitions in the .cc src to match. When I do the same with mingw, newly compiled objects link okay with the new libstdc++, but old objects can have problems with istream::seekg(long long) in 2.95.2 vs seekg(long) in 2.95.3. Ditto with ostream::seekp(long long). This would not be a problem with Cygwin (_IO_off_t and _IO_fpos_t are both long) only in msvcrt version of mingw (fpos_t and hence _IO_fpos_t are long long, off_t is long). I think that the way cygwin has done is "correct" in ters of efficiency (unless we are using multibyte states long is all thats needed for streampos) but breaking the interface in the headers can cause problems, and may mean old libraries need to be recompiled. _____________________________________________________________________________ http://calendar.yahoo.com.au - Yahoo! Calendar - Access your appointments and meetings online. |