X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fir.c;h=27b4d1536772b3d212466332e7cb006d67d316e7;hp=10c053efd498bfe25aff8c6f195a42867dcf33dd;hb=f709df33569630f2056edc0c5c336949c6da8b92;hpb=32253ca6184bceb23486c7d92ea209b7cb4b7b58 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