delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1998/01/26/20:23:39

From: Andrew Crabtree <andrewc AT typhoon DOT rose DOT hp DOT com>
Message-Id: <199801270120.AA052814049@typhoon.rose.hp.com>
Subject: iostream concern
To: djgpp-workers AT delorie DOT com
Date: Mon, 26 Jan 1998 17:20:49 PST
Reply-To: andrewc AT rosemail DOT rose DOT hp DOT com

I've found an incompatibility with the gcc build process and 
the DJ standard header files when building the c++ libs.  

Apparantly, like stddef.h, gcc/egcs (whatever), wants to use
its own generated copy of _G_config.h instead of whatever used 
to be there.  The gererated _G_config.h define _G_fpos_t as follows. 

typedef unsigned long _G_fpos_t;

In DJGPP header files this is defined as a signed long.  This value
gets defined all the way down to be streampos that iostream.cc uses.
The latest pg++ snapshot that went out had a libiostream compiled with the 
generated header file, so people who attempt to use it with 
the standard DJ header will get undefined references.  
I can easily change future version of the library to be defined 
with streampos to be a signed value, but thought that perhaps it 
might be wiser to change the dj header files to use a unsigned value
as well.  My current (basically untested) fix for users is to 
have them change the value in the header file.  

Any thoughts?

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019