* Validate the arguments.
*/
if (node->type == XLAT_FUNC) {
- if (node->call.input_type == XLAT_INPUT_MONO) {
+ switch (node->call.input_type) {
+ case XLAT_INPUT_UNPROCESSED:
+ break;
+
+ case XLAT_INPUT_MONO:
if (xlat_validate_function_mono(node) < 0) goto error;
- } else {
+ node->flags.can_purify = (node->call.func->flags.pure && node->call.args->flags.pure) | node->call.args->flags.can_purify;
+ break;
+
+ case XLAT_INPUT_ARGS:
if (xlat_validate_function_args(node) < 0) goto error;
+ node->flags.can_purify = (node->call.func->flags.pure && node->call.args->flags.pure) | node->call.args->flags.can_purify;
+ break;
}
-
- node->flags.can_purify = (node->call.func->flags.pure && node->call.args->flags.pure) | node->call.args->flags.can_purify;
}
xlat_exp_insert_tail(head, node);