diff -r 9fe6c4633ed6 -r d2cd05c5e01a stage4/generate_c/generate_c_il.cc --- a/stage4/generate_c/generate_c_il.cc Fri Mar 09 10:52:23 2012 +0000 +++ b/stage4/generate_c/generate_c_il.cc Fri Mar 09 17:58:19 2012 +0000 @@ -1640,6 +1640,12 @@ } void *visit(NOT_operator_c *symbol) { + /* NOTE: the standard allows syntax in which the NOT operator is followed by an optional + * NOT [] + * However, it does not define the semantic of the NOT operation when the is specified. + * We therefore consider it an error if an il_operand is specified! + * The error is caught in stage 3! + */ if ((NULL != this->current_operand) || (NULL != this->current_operand_type)) ERROR; XXX_operator(&(this->default_variable_name), search_expression_type->is_bool_type(this->default_variable_name.current_type)?" = !":" = ~",