From e7f84a1a7cb02045f24af0e1bd0a791b26b109fb Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Tue, 12 Aug 2008 08:09:54 +0000 Subject: [PATCH] don't access NULL pointers [r21110] --- ir/be/ia32/ia32_common_transform.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/ir/be/ia32/ia32_common_transform.c b/ir/be/ia32/ia32_common_transform.c index d8eb5ac58..a273dece0 100644 --- a/ir/be/ia32/ia32_common_transform.c +++ b/ir/be/ia32/ia32_common_transform.c @@ -569,15 +569,17 @@ ir_node *gen_ASM(ir_node *node) const arch_register_req_t *req; parse_asm_constraints(&parsed_constraint, c, 0); - r_clobber_bits = clobber_bits[parsed_constraint.cls->index]; - if (r_clobber_bits != 0) { - if (parsed_constraint.all_registers_allowed) { - parsed_constraint.all_registers_allowed = 0; - be_abi_set_non_ignore_regs(env_cg->birg->abi, - parsed_constraint.cls, - &parsed_constraint.allowed_registers); + if (parsed_constraint.cls != NULL) { + r_clobber_bits = clobber_bits[parsed_constraint.cls->index]; + if (r_clobber_bits != 0) { + if (parsed_constraint.all_registers_allowed) { + parsed_constraint.all_registers_allowed = 0; + be_abi_set_non_ignore_regs(env_cg->birg->abi, + parsed_constraint.cls, + &parsed_constraint.allowed_registers); + } + parsed_constraint.allowed_registers &= ~r_clobber_bits; } - parsed_constraint.allowed_registers &= ~r_clobber_bits; } req = make_register_req(&parsed_constraint, n_out_constraints, -- 2.20.1