+bool psi_decl_arg_is_pointer(struct psi_decl_arg *darg)
+{
+ if (darg->var->pointer_level) {
+ if (darg->var->array_size) {
+ return darg->var->pointer_level > 1;
+ }
+ return true;
+ } else if (psi_decl_type_is_weak(darg->type) && darg->type->real.def) {
+ return psi_decl_arg_is_pointer(darg->type->real.def);
+ }
+ return false;
+}
+