widl: Allow using fixed size arrays as strings.
This commit is contained in:
parent
7f426a51d1
commit
56e65b4534
|
@ -2560,11 +2560,14 @@ static void check_remoting_args(const var_t *func)
|
|||
error_loc_info(&arg->loc_info, "out interface pointer \'%s\' of function \'%s\' is not a double pointer\n", arg->name, funcname);
|
||||
break;
|
||||
case TGT_STRING:
|
||||
if (is_ptr(type) ||
|
||||
(is_array(type) &&
|
||||
(!type_array_has_conformance(type) ||
|
||||
type_array_get_conformance(type)->type == EXPR_VOID)))
|
||||
error_loc_info(&arg->loc_info, "out parameter \'%s\' of function \'%s\' cannot be an unsized string\n", arg->name, funcname);
|
||||
if (is_array(type))
|
||||
{
|
||||
/* needs conformance or fixed dimension */
|
||||
if (type_array_has_conformance(type) &&
|
||||
type_array_get_conformance(type)->type != EXPR_VOID) break;
|
||||
if (!type_array_has_conformance(type) && type_array_get_dim(type)) break;
|
||||
}
|
||||
error_loc_info(&arg->loc_info, "out parameter \'%s\' of function \'%s\' cannot be an unsized string\n", arg->name, funcname);
|
||||
break;
|
||||
case TGT_INVALID:
|
||||
/* already error'd before we get here */
|
||||
|
|
Loading…
Reference in New Issue