Mail Archives: djgpp/1996/09/23/10:34:06
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)
==> Remember that value of N_BTMASK : it is 0xf
#define N_TMASK (0x30)
#define N_BTSHFT (4)
#define N_TSHIFT (2)
==> Skipped a little
/*
* Type of a symbol, in low N bits of the word
*/
#define T_NULL 0
#define T_VOID 1 /* function argument (only used by compiler) */
#define T_CHAR 2 /* character */
#define T_SHORT 3 /* short integer */
==> Skipped a little
#define T_USHORT 13 /* unsigned short */
#define T_UINT 14 /* unsigned integer */
#define T_ULONG 15 /* unsigned long */
#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 ?
===================================================================
Sincerely yours, Ilya
-----------------------------------------------------------------------------
mailto://ilya AT spy DOT isp DOT nsc DOT ru http://spy.isp.nsc.ru
on IRC (EFNet) as "Orangy" usually on #mirc #novosibirsk or somewhere else ;)
- Raw text -