- if (rule->midrule_parent_rule)
- complain_at (dollar_loc,
- _("$$ for the midrule at $%d of `%s' has no declared"
- " type"),
- rule->midrule_parent_rhs_index,
- effective_rule->sym->tag);
+ if (union_seen | tag_seen)
+ {
+ if (rule->midrule_parent_rule)
+ complain_at (dollar_loc,
+ _("$$ for the midrule at $%d of `%s'"
+ " has no declared type"),
+ rule->midrule_parent_rhs_index,
+ effective_rule->content.sym->tag);
+ else
+ complain_at (dollar_loc, _("$$ of `%s' has no declared type"),
+ rule->content.sym->tag);
+ }