diff -r 27f246b35ac2 -r 783ef40344dd stage4/generate_c/generate_c_il.cc --- a/stage4/generate_c/generate_c_il.cc Tue Aug 20 11:11:09 2013 +0100 +++ b/stage4/generate_c/generate_c_il.cc Tue Aug 20 11:15:40 2013 +0100 @@ -1530,6 +1530,16 @@ void *visit(S_operator_c *symbol) { + /* This operator must implement one of two possible semantics: + * - FB call + * - Set all the bits of an ANY_BIT type variable to 1 + */ + + /* Check whether we must implement the FB call semantics... */ + if (NULL != symbol->called_fb_declaration) + return XXX_CAL_operator( "S", this->current_operand); + + /* Implement the bit setting semantics... */ if (wanted_variablegeneration != expression_vg) { s4o.print("LD"); return NULL; @@ -1552,6 +1562,16 @@ void *visit(R_operator_c *symbol) { + /* This operator must implement one of two possible semantics: + * - FB call + * - Set all the bits of an ANY_BIT type variable to 0 + */ + + /* Check whether we must implement the FB call semantics... */ + if (NULL != symbol->called_fb_declaration) + return XXX_CAL_operator( "R", this->current_operand); + + /* Implement the bit setting semantics... */ if (wanted_variablegeneration != expression_vg) { s4o.print("LD"); return NULL;