From a73fcab3c396fc177023768e516188e1d2bd8fda Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=B6tz=20Lindenmaier?= Date: Wed, 20 Dec 2000 17:35:29 +0000 Subject: [PATCH] *** empty log message *** [r82] --- Changes | 7 +++++-- ir/ir/irmode.c | 44 +++++++++++++++++++++++--------------------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/Changes b/Changes index 7fe57eae8..909b29704 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,9 @@ 20.12.2000 Goetz - external to declaration of irp - typedef before pns and pnc_number. + Added external to declaration of irp. + Added typedef before pns and pnc_number. + irmode.c, init_mode(): We need to memset all new modes as + tarval_vrfy reads fields before they are initialized: It + compares to min/max when tarvals for min/max are allocated! 18.12.2000 Goetz Changed parameter of Methods in type.h and type.c from diff --git a/ir/ir/irmode.c b/ir/ir/irmode.c index 9fe2f5cf4..f0440a675 100644 --- a/ir/ir/irmode.c +++ b/ir/ir/irmode.c @@ -35,27 +35,29 @@ ir_mode *mode_Z; void init_mode (void) { - /* allocate all modes */ - mode_T = (ir_mode *) malloc (sizeof (ir_mode)); - mode_f = (ir_mode *) malloc (sizeof (ir_mode)); - mode_d = (ir_mode *) malloc (sizeof (ir_mode)); - mode_c = (ir_mode *) malloc (sizeof (ir_mode)); - mode_C = (ir_mode *) malloc (sizeof (ir_mode)); - mode_h = (ir_mode *) malloc (sizeof (ir_mode)); - mode_H = (ir_mode *) malloc (sizeof (ir_mode)); - mode_i = (ir_mode *) malloc (sizeof (ir_mode)); - mode_I = (ir_mode *) malloc (sizeof (ir_mode)); - mode_l = (ir_mode *) malloc (sizeof (ir_mode)); - mode_L = (ir_mode *) malloc (sizeof (ir_mode)); - mode_B = (ir_mode *) malloc (sizeof (ir_mode)); - mode_b = (ir_mode *) malloc (sizeof (ir_mode)); - mode_p = (ir_mode *) malloc (sizeof (ir_mode)); - mode_s = (ir_mode *) malloc (sizeof (ir_mode)); - mode_S = (ir_mode *) malloc (sizeof (ir_mode)); - mode_X = (ir_mode *) malloc (sizeof (ir_mode)); - mode_M = (ir_mode *) malloc (sizeof (ir_mode)); - mode_R = (ir_mode *) malloc (sizeof (ir_mode)); - mode_Z = (ir_mode *) malloc (sizeof (ir_mode)); + /* allocate all modes. We need to memset them as tarval_vrfy + reads fields before they are initialized: It compares to + min/max when tarvals for min/max are allocated! */ + mode_T = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_T, 0, sizeof(ir_mode)); + mode_f = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_f, 0, sizeof(ir_mode)); + mode_d = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_d, 0, sizeof(ir_mode)); + mode_c = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_c, 0, sizeof(ir_mode)); + mode_C = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_C, 0, sizeof(ir_mode)); + mode_h = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_h, 0, sizeof(ir_mode)); + mode_H = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_H, 0, sizeof(ir_mode)); + mode_i = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_i, 0, sizeof(ir_mode)); + mode_I = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_I, 0, sizeof(ir_mode)); + mode_l = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_l, 0, sizeof(ir_mode)); + mode_L = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_L, 0, sizeof(ir_mode)); + mode_B = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_B, 0, sizeof(ir_mode)); + mode_b = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_b, 0, sizeof(ir_mode)); + mode_p = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_p, 0, sizeof(ir_mode)); + mode_s = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_s, 0, sizeof(ir_mode)); + mode_S = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_S, 0, sizeof(ir_mode)); + mode_X = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_X, 0, sizeof(ir_mode)); + mode_M = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_M, 0, sizeof(ir_mode)); + mode_R = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_R, 0, sizeof(ir_mode)); + mode_Z = (ir_mode *) malloc (sizeof (ir_mode)); memset(mode_Z, 0, sizeof(ir_mode)); mode_T->code = irm_T; mode_f->code = irm_f; -- 2.20.1