www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/09/23/17:29:59

Date: Tue, 24 Sep 1996 09:13:19 +0000
From: Bill Currie <billc AT blackmagic DOT tait DOT co DOT nz>
Subject: Re: Strange things in coff.h
To: Ryzhenkov Ilya <ilya AT spy DOT isp DOT nsc DOT ru>
Cc: djgpp AT delorie DOT com
Message-id: <3247A62F.118C@blackmagic.tait.co.nz>
Organization: Tait Electronics NZ
MIME-version: 1.0
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

- Raw text -


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