gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] dummy struct fields in object.h


From: Mike Thomas
Subject: [Gcl-devel] dummy struct fields in object.h
Date: Tue, 11 May 2004 17:43:24 +1000

Hi Camm.

I thought that the Windows Maxima "ignore-errors" bug might be caused by
overwrites of the fill-pointer or other data in strings and/or pathnames, so
inserted dummy fields in the relevant structs in "h/object.h" shown below.

This causes a clean build to abort early on when the raw_pre_gcl executable
(if I recall correctly - I have a clean tree at the moment due to gcc 3.4
experiments and blew away the log) starts up.  I sneaked a build one evening
on one of our sacred Linux build machines and got the same result.

I am surprised that doing this to components of "lispunion" should cause
such a problem.

Cheers

Mike Thomas.




struct string {                 /*  string header  */
                FIRSTWORD;
        int dummy6;
        object  st_displaced;   /*  displaced  */
        int dummy0;
        short   st_hasfillp;    /*  has-fill-pointer flag  */
        int dummy1;
        short   st_adjustable;  /*  adjustable flag  */
        int dummy2;
        char    *st_self;       /*  pointer to the string  */
        int dummy3;
        int     st_fillp;       /*  fill pointer  */
                                /*  For simple strings,  */
                                /*  st_fillp is equal to st_dim.  */
        int dummy4;
        int     st_dim;         /*  dimension  */
                                /*  string length  */
        int dummy5;

};

struct ustring {
                FIRSTWORD;
        int dummy7;
        object  ust_displaced;
        int dummy1;
        short   ust_hasfillp;
        int dummy2;
        short   ust_adjustable;
        int dummy3;
        unsigned char *ust_self;
        int dummy4;
        int     ust_fillp;
        int dummy5;

        int     ust_dim;
        int dummy6;


};

and

struct pathname {
                FIRSTWORD;
        int dummy7;
        object  pn_host;        /*  host  */
        int dummy1;
        object  pn_device;      /*  device  */
        int dummy2;
        object  pn_directory;   /*  directory  */
        int dummy3;
        object  pn_name;        /*  name  */
        int dummy4;
        object  pn_type;        /*  type  */
        int dummy5;
        object  pn_version;     /*  version  */
        int dummy6;
};







reply via email to

[Prev in Thread] Current Thread [Next in Thread]