This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/79595] New: Inconsistent grammar in diagnostic "partial specialization %q+D does not specialize"
- From: "roland.illig at gmx dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 19 Feb 2017 18:57:38 +0000
- Subject: [Bug c++/79595] New: Inconsistent grammar in diagnostic "partial specialization %q+D does not specialize"
- Auto-submitted: auto-generated
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.