+static int
+check_qualifiers(struct cdecl_declarator **p, struct cdecl_declarator *d)
+{
+ struct cdecl_declspec *spec;
+ struct cdecl_pointer *ptr;
+
+ if (!d->child || d->child->type != CDECL_DECL_POINTER)
+ return 0;
+
+ ptr = &d->child->u.pointer;
+ for (spec = ptr->qualifiers; spec; spec = spec->next) {
+ if (spec->type == CDECL_QUAL_RESTRICT
+ && d->type == CDECL_DECL_FUNCTION) {
+ fprintf(stderr, "function pointers cannot be restrict-qualified\n");
+ return -1;
+ }
+ }
+
+ return 0;
+}
+