https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79595
Bug ID: 79595 Summary: Inconsistent grammar in diagnostic "partial specialization %q+D does not specialize" Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: roland.illig at gmx dot de Target Milestone: --- Code from cp/pt.c: if (!flag_concepts) error ("partial specialization %q+D does not specialize " "any template arguments", decl); else error ("partial specialization %q+D does not specialize any " "template arguments and is not more constrained than", decl); inform (DECL_SOURCE_LOCATION (maintmpl), "primary template here"); The first sentence is: location1: partial specialization %q+D does not specialize any template arguments location2: primary template here The second sentence is: location1: partial specialization %q+D does not specialize any template arguments and is not more constrained than location2: primary template here In German, it is not possible to translate both sentences to actually understandable grammar at the same time. Even in English, the second of these is a complete sentence (split into two parts, which is often problematic for translators), while the first is a concatenation of two sentence fragments. Therefore the call to inform should use different text for the two cases.