if (!valid_declspecs(i, true))
return 0;
- if (cdecl_is_abstract(i->declarators)
- && (i != decl || i->next)) {
+ if (decl->next && cdecl_is_abstract(i->declarators)) {
+ /* Abstract full declarators: there can only be one. */
cdecl__errmsg(CDECL__EDECLTYPE);
return 0;
}