fixed some problems:

- removed null-reference in illegal use of pointers in constant expressions
- FOR-loops that count downwards did not work
- POINTER TO mechanism changed; works better now
This commit is contained in:
ceriel
1988-11-15 14:45:59 +00:00
parent 090f27251e
commit f1245e2e00
8 changed files with 86 additions and 49 deletions

View File

@@ -71,7 +71,9 @@ struct dforward {
struct forwtype {
struct node *f_node;
struct def *f_def;
#define df_forw_node df_value.df_fortype.f_node
#define df_forw_def df_value.df_fortype.f_def
};
struct def { /* list of definitions for a name */
@@ -94,14 +96,13 @@ struct def { /* list of definitions for a name */
#define D_FORWARD 0x0400 /* not yet defined */
#define D_FORWMODULE 0x0800 /* module must be declared later */
#define D_FORWTYPE 0x1000 /* forward type */
#define D_FTYPE 0x2000 /* resolved forward type */
#define D_ERROR 0x4000 /* a compiler generated definition for an
undefined variable
*/
#define D_INUSE 0x8000 /* identification in this scope (like D_IMPORT)
*/
#define D_VALUE (D_PROCEDURE|D_VARIABLE|D_FIELD|D_ENUM|D_CONST|D_PROCHEAD)
#define D_ISTYPE (D_HIDDEN|D_TYPE|D_FTYPE)
#define D_ISTYPE (D_HIDDEN|D_TYPE)
#define D_IMPORTED (D_IMPORT|D_INUSE)
#define is_type(dfx) ((dfx)->df_kind & D_ISTYPE)
unsigned short df_flags;