[EXPR_UNARY_NEGATE] = PREC_UNARY,
[EXPR_UNARY_PLUS] = PREC_UNARY,
- [EXPR_UNARY_BITWISE_NEGATE] = PREC_UNARY,
+ [EXPR_UNARY_COMPLEMENT] = PREC_UNARY,
[EXPR_UNARY_NOT] = PREC_UNARY,
[EXPR_UNARY_DEREFERENCE] = PREC_UNARY,
[EXPR_UNARY_TAKE_ADDRESS] = PREC_UNARY,
case EXPR_UNARY_NEGATE: print_char ('-' ); break;
case EXPR_UNARY_PLUS: print_char ('+' ); break;
case EXPR_UNARY_NOT: print_char ('!' ); break;
- case EXPR_UNARY_BITWISE_NEGATE: print_char ('~' ); break;
+ case EXPR_UNARY_COMPLEMENT: print_char ('~' ); break;
case EXPR_UNARY_PREFIX_INCREMENT: print_string("++"); break;
case EXPR_UNARY_PREFIX_DECREMENT: print_string("--"); break;
case EXPR_UNARY_DEREFERENCE: print_char ('*' ); break;
case EXPR_UNARY_NEGATE:
case EXPR_UNARY_PLUS:
- case EXPR_UNARY_BITWISE_NEGATE:
+ case EXPR_UNARY_COMPLEMENT:
case EXPR_UNARY_NOT:
return is_constant_expression(expression->unary.value);
case EXPR_STATEMENT: return statement_expression_to_firm( &expr->statement);
case EXPR_STRING_LITERAL: return string_to_firm( &expr->base.pos, "str.%u", &expr->string_literal.value);
case EXPR_UNARY_ASSUME: return handle_assume( expr->unary.value);
- case EXPR_UNARY_BITWISE_NEGATE: return complement_to_firm( &expr->unary);
+ case EXPR_UNARY_COMPLEMENT: return complement_to_firm( &expr->unary);
case EXPR_UNARY_DEREFERENCE: return dereference_to_firm( &expr->unary);
case EXPR_UNARY_NEGATE: return negate_to_firm( &expr->unary);
case EXPR_UNARY_PLUS: return expression_to_value( expr->unary.value);
EXPR_UNARY_FIRST,
EXPR_UNARY_NEGATE = EXPR_UNARY_FIRST,
EXPR_UNARY_PLUS,
- EXPR_UNARY_BITWISE_NEGATE,
+ EXPR_UNARY_COMPLEMENT,
EXPR_UNARY_NOT,
EXPR_UNARY_DEREFERENCE,
EXPR_UNARY_TAKE_ADDRESS,
#define EXPR_UNARY_CASES_MANDATORY \
EXPR_UNARY_NEGATE: \
case EXPR_UNARY_PLUS: \
- case EXPR_UNARY_BITWISE_NEGATE: \
+ case EXPR_UNARY_COMPLEMENT: \
case EXPR_UNARY_NOT: \
case EXPR_UNARY_DEREFERENCE: \
case EXPR_UNARY_TAKE_ADDRESS: \
case EXPR_UNARY_NEGATE:
case EXPR_UNARY_PLUS:
- case EXPR_UNARY_BITWISE_NEGATE:
+ case EXPR_UNARY_COMPLEMENT:
case EXPR_UNARY_NOT:
case EXPR_UNARY_TAKE_ADDRESS:
case EXPR_UNARY_POSTFIX_INCREMENT:
expression->base.type = c_mode & _CXX ? type_bool : type_int;
}
-static void semantic_unexpr_integer(unary_expression_t *expression)
+static void semantic_complement(unary_expression_t *expression)
{
type_t *const orig_type = expression->value->base.type;
type_t *const type = skip_typeref(orig_type);
semantic_dereference)
CREATE_UNARY_EXPRESSION_PARSER('&', EXPR_UNARY_TAKE_ADDRESS,
semantic_take_addr)
-CREATE_UNARY_EXPRESSION_PARSER('~', EXPR_UNARY_BITWISE_NEGATE,
- semantic_unexpr_integer)
+CREATE_UNARY_EXPRESSION_PARSER('~', EXPR_UNARY_COMPLEMENT,
+ semantic_complement)
CREATE_UNARY_EXPRESSION_PARSER(T_PLUSPLUS, EXPR_UNARY_PREFIX_INCREMENT,
semantic_incdec)
CREATE_UNARY_EXPRESSION_PARSER(T_MINUSMINUS, EXPR_UNARY_PREFIX_DECREMENT,
case EXPR_UNARY_NEGATE: return false;
case EXPR_UNARY_PLUS: return false;
- case EXPR_UNARY_BITWISE_NEGATE: return false;
+ case EXPR_UNARY_COMPLEMENT: return false;
case EXPR_UNARY_NOT: return false;
case EXPR_UNARY_DEREFERENCE: return false;
case EXPR_UNARY_TAKE_ADDRESS: return false;
register_expression_parser(parse_EXPR_UNARY_NEGATE, '-');
register_expression_parser(parse_EXPR_UNARY_PLUS, '+');
register_expression_parser(parse_EXPR_UNARY_NOT, '!');
- register_expression_parser(parse_EXPR_UNARY_BITWISE_NEGATE, '~');
+ register_expression_parser(parse_EXPR_UNARY_COMPLEMENT, '~');
register_expression_parser(parse_EXPR_UNARY_DEREFERENCE, '*');
register_expression_parser(parse_EXPR_UNARY_TAKE_ADDRESS, '&');
register_expression_parser(parse_EXPR_UNARY_PREFIX_INCREMENT, T_PLUSPLUS);