345
345
(t2->isRestrict () ? t1->isRestrict () : true)) &&
346
346
! (t1->isPointer () && t2->isInteger () && v && v->isNull ()) &&
347
347
! (t1->VirtualType ()->is_bool () && t2->isPointer ())) {
349
349
} else if (! CSemExpr::compatible (t1, t2))
350
350
CSemExpr::cast_to (t1, expr, node);
351
351
} else if (t1->isRecord ()) {
352
352
if (! CSemExpr::compatible (t1, t2))
355
355
SEM_ERROR (node, "invalid return type");