+/* Create a new facinglist from an apc_facing */\r
+struct ir_facinglist_t* ir_facinglist\r
+( apc_facing facing )\r
+{ struct ir_facinglist_t* list = struct_alloc(ir_facinglist_t);\r
+ list->facing = facing;\r
+ return list;\r
+}\r
+\r
+/* Add a child to the facing list */\r
+struct ir_facinglist_t* ir_facinglist_push\r
+( struct ir_facinglist_t* list,\r
+ apc_facing facing\r
+)\r
+{ struct ir_facinglist_t* iter = list;\r
+ if (iter != NULL)\r
+ { while (iter->nextsib != NULL)\r
+ iter = iter->nextsib;\r
+ iter->nextsib = struct_alloc(ir_facinglist_t);\r
+ iter->nextsib->facing = facing;\r
+ }\r
+ return list;\r
+}\r
+\r
+#define assert_framebox(fbox) if (DEBUG) { \\r
+ if (fbox->header.type != FBDAT) \\r
+ eprintf("Data %s is not a framebox\n", fbox->header.data_name); \\r
+ }\r
+\r