+
+/*
+ * Alter an abstract declarator (type name) to declare an identifier instead,
+ * used by the English parser rules to reduce "identifier as type" sequences.
+ */
+static struct cdecl *insert_identifier(struct cdecl *decl, char *ident)
+{
+ struct cdecl_declarator *d = decl->declarators;
+
+ while (d->child)
+ d = d->child;
+
+ d->type = CDECL_DECL_IDENT;
+ d->u.ident = ident;
+
+ return decl;
+}