delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1999/01/02/18:23:42

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 <corinna DOT vinschen AT cityweb DOT de>
Cc: cygwin32-developers AT cygnus DOT com

Corinna Vinschen <corinna DOT vinschen AT cityweb DOT de> 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


- Raw text -


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