From: khan AT xraylith DOT wisc DOT edu (Mumit Khan) Subject: Re: Defines for ctype, sys_nerr, sys_errlist in B21 (0.8/1/1) 2 Jan 1999 18:23:42 -0800 Message-ID: <199901030206.UAA00627.cygnus.cygwin32.developers@modi.xraylith.wisc.edu> References: <368EC2BE DOT 828D9B80 AT cityweb DOT de> To: Corinna Vinschen Cc: cygwin32-developers AT cygnus DOT com Corinna Vinschen writes: > The above new style for defining > > _ctype_ as __imp__ctype, > sys_nerr as __imp__sys_nerr > and sys_errlist as __imp__sys_errlist > > is a pitfall. Every linkage against libraries, compiled > using B20 'til B21 (0.7/...) breaks now, if this libraries > are using the above variables. Especially _ctype_ is more > or less unavoidable. I'm not sure if this new naming is avoidable in the long run, but I'd much rather use attributes instead of __imp__*. Two points: 1. __imp__ is deprecated. It should really be _imp__ if anything. 2. why not use the following instead of using __imp__: extern int foobar __attribute__((dllimport)); At some point, we'll need to recompile everything to change the references of dllimported vars appropriately. Might as well start now. IMO, that's what development snapshots are for, but I do understand the problem it causes. Regards, Mumit