incompatible function ptr assignment: just warn

void fn_1(int i) {}
    void (*fn_2)(char*) = fn_1;
This commit is contained in:
grischka 2009-06-17 02:10:24 +02:00
parent 6a004ed19f
commit 956b4beec1

View file

@ -1939,9 +1939,8 @@ static void gen_assign_cast(CType *dt)
if (sbt == VT_FUNC) { if (sbt == VT_FUNC) {
if ((type1->t & VT_BTYPE) != VT_VOID && if ((type1->t & VT_BTYPE) != VT_VOID &&
!is_compatible_types(pointed_type(dt), st)) !is_compatible_types(pointed_type(dt), st))
goto error; warning("assignment from incompatible pointer type");
else goto type_ok;
goto type_ok;
} }
if (sbt != VT_PTR) if (sbt != VT_PTR)
goto error; goto error;