https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104552

--- Comment #33 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 
---
(In reply to Eric Gallager from comment #28)
> (In reply to Roland Illig from comment #10)
> > From aarch64-sve-builtins.cc:
> > > error_at (location, "passing single vector %qT to argument %d"
> > >           " of %qE, which expects a tuple of %d vectors",
> > >           actual, argno + 1, fndecl, num_vectors);
> > 
> > "%d vectors" must use the correct plural form, for the benefit of Polish,
> > Russian, Arabic and several more.
> 
> Richard Sandiford's string (624d0f07)
OK, will fix.

> (In reply to Roland Illig from comment #11)
> > From aarch64-sve-builtins.cc:
> > > passing %qT to argument %d of %qE, which expects a scalar integer
> > 
> > "scalar integer" sounds redundant, this may be a copy-and-paste mistake from
> > the message directly above, which says "scalar element".
> 
> Likewise.
I think it's worth keeping, at least in English.  The error could
otherwise end up being something like:

  passing “svint32_t” to argument 2 of foo, which expects an integer

which IMO isn't as obvious: the crucial scalar vs. vector distinction
is now implicit rather than explicit.

> (In reply to Roland Illig from comment #12)
> > From aarch64-sve-builtins.cc:
> > > "capture by copy of SVE type %qT"
> > 
> > This message should use the same grammar as the related ones, the word
> > "cannot" is a useful indicator of the general error condition.
> 
> Same author, different commit (02a32ab4)
This follows the style of the corresponding error for incomplete types
(cp/lambda.cc:add_capture).  It seems OK to me, so I'd prefer to keep
it for consistency.

The “cannot” errors are for actions like new, delete and throw, so I think
saying “the program cannot do this” makes sense there.  But IMO it's at
least borderline whether lambda captures are declarative or imperative.
IMO they're more akin to parameter declarations.

> (In reply to Roland Illig from comment #14)
> > From aarch64.cc:
> > > "invalid name (%qs) in %<target(\"arch=\")%> pragma or attribute"
> > 
> > What is the point of having parentheses around %qs? That seems redundant to
> > me.
Not my string, but I quite like the parentheses TBH. :-)  Translations
don't need to keep them if they aren't natural for the target language.

Reply via email to