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

Barry Revzin <barry.revzin at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |barry.revzin at gmail dot com

--- Comment #1 from Barry Revzin <barry.revzin at gmail dot com> ---
Was just filing a bug for the same problem. Here's a short repro:

namespace A::B {
    struct X { void use(); };
}

void f(B::X x, int j) {
    x.use();
}

The error I get is:

<source>:5:6: error: variable or field 'f' declared void
    5 | void f(B::X x, int j) {
      |      ^
<source>:5:8: error: 'B' has not been declared
    5 | void f(B::X x, int j) {
      |        ^
<source>:5:16: error: expected primary-expression before 'int'
    5 | void f(B::X x, int j) {
      |                ^~~

The middle error is the real problem, the first and third are... quite
unhelpful! In some cases, the third error looks more like this:

<source>:7:18: error: expected primary-expression before 'j'
    7 | void f(B::X x, Y j) {
      |                  ^

Which is equivalently unhelpful.

Reply via email to