Date: Tue, 24 Sep 1996 09:13:19 +0000 From: Bill Currie Subject: Re: Strange things in coff.h To: Ryzhenkov Ilya Cc: djgpp AT delorie DOT com Message-id: <3247A62F.118C@blackmagic.tait.co.nz> Organization: Tait Electronics NZ MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit References: <32475723 DOT 201 AT spy DOT isp DOT nsc DOT ru> Ryzhenkov Ilya wrote: > > While developing DLL lib i've discovered a strange thing in > file include/coff.h. > There is cut out from coff.h and my comments started with ==> > ================================================================= > #define N_BTMASK (0xf) [snip] > #define T_NULL 0 [snip] > #define T_LNGDBL 16 /* long double */ > > ==> Do u still remember value of N_BTMASK ? ;) (it is 0xf) > ==> Now look at next #define and at previous #define. Do u see ? > > #define BTYPE(x) ((x) & N_BTMASK) > > ==> I wonder if T_LNGDBL can ever appear in SYMENT.e_type field. > ==> Or I'm missing something ? > =================================================================== I'm not sertain, but I think that's what T_NULL is for, you can't have a null type, and so T_NULL (I guess) is an `escape' type allowing you to use the upper bits for type definitions. Bill