From f709df33569630f2056edc0c5c336949c6da8b92 Mon Sep 17 00:00:00 2001 From: ken Date: Sat, 18 Feb 2017 11:19:36 -0800 Subject: [PATCH] fixes --- src/ir.c | 16 ++++++++++------ src/ir.h | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/ir.c b/src/ir.c index 10c053e..27b4d15 100644 --- a/src/ir.c +++ b/src/ir.c @@ -619,10 +619,10 @@ union ir_setdata_t* ir_set_link ( struct ir_set_t* set ) { return (union ir_setdata_t*) set->links; } -#define assert_link(linkdata) do { \ +#define assert_link(linkdata) if (DEBUG) { \ if (linkdata->header.type != LDAT) \ eprintf("Data %s is not a link\n", linkdata->header.data_name); \ - } while (0) + } /* Return the link type */ enum ltype ir_linkdata_type @@ -724,13 +724,17 @@ void ir_linkdata_resolve_set /* Assign a linkdatas trg_set */ void ir_linkdata_assign_set -( struct ir_link_t* link, struct ir_set_t* set ) -{ link->trg_set = set; } +( union ir_setdata_t* link, struct ir_set_t* set ) +{ assert_link(link); + link->link.trg_set = set; +} /* Assign a linkdatas type */ void ir_linkdata_assign_type -( struct ir_link_t* link, ltype type; ) -{ link->type = type; } +( union ir_setdata_t* link, enum ltype type ) +{ assert_link(link); + link->link.type = type; +} /* Get a setdata's next sibling */ union ir_setdata_t* ir_setdata_nextsib diff --git a/src/ir.h b/src/ir.h index cce1e79..8f6f647 100644 --- a/src/ir.h +++ b/src/ir.h @@ -97,7 +97,8 @@ linkdata ir_set_link(ir_set); enum ltype ir_linkdata_type(linkdata); uint32_t ir_linkdata_ref(linkdata); ir_set ir_linkdata_set(linkdata); -void ir_linkdata_assign_set(ir_set); +void ir_linkdata_assign_set(linkdata,ir_set); +void ir_linkdata_assign_type(linkdata,enum ltype); ir_setdata ir_setdata_nextsib(ir_setdata); uint8_t* ir_setdata_name(ir_setdata); uint8_t* ir_setdata_filename(ir_setdata); -- 2.18.0