X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=parser.c;h=088621226a7d5a230c76624894d816e59ad6e12b;hb=814481d18ceaf3630a6d4ef25fd0a4b57ca5e549;hp=c9e35b6ea6db8f2db22a5e19f107da02083750b7;hpb=227b0eb126a28cde3726b5618a6767dba1393bf5;p=cparser diff --git a/parser.c b/parser.c index c9e35b6..0886212 100644 --- a/parser.c +++ b/parser.c @@ -7907,7 +7907,8 @@ static void semantic_binexpr_integer(binary_expression_t *const expression) type_t *const type_left = skip_typeref(orig_type_left); type_t *const type_right = skip_typeref(orig_type_right); - if (!is_type_integer(type_left) || !is_type_integer(type_right)) { + if (!is_type_integer(type_left) || !is_type_integer(type_right) + || is_type_complex(type_left) || is_type_complex(type_right)) { if (is_type_valid(type_left) && is_type_valid(type_right)) { position_t const *const pos = &expression->base.pos; errorf(pos, "operands of binary expression must have integer types, but are '%T' and '%T'", orig_type_left, orig_type_right);