From: Michael Beck Date: Thu, 8 Apr 2004 06:25:31 +0000 (+0000) Subject: get_kind() did not assert anymore, instead returns k_BAD. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=f710ccc214eac12711b686ce8878c2e48a52fc70;p=libfirm get_kind() did not assert anymore, instead returns k_BAD. [r2637] --- diff --git a/ir/common/firm_common.c b/ir/common/firm_common.c index ef3e6eed8..6922cefca 100644 --- a/ir/common/firm_common.c +++ b/ir/common/firm_common.c @@ -19,11 +19,16 @@ #include "irgraph.h" #include "irloop.h" +/** + * Ideally, this macro would check if size bytes could be read at + * pointer p. No generic solution. + */ +#define POINTER_READ(p, size) (p) + /* returns the kind of the thing */ firm_kind get_kind (const void *firm_thing) { - assert (firm_thing); - return *(firm_kind *)firm_thing; + return POINTER_READ(firm_thing, sizeof(firm_kind)) ? *(firm_kind *)firm_thing : k_BAD; }