error: use of undeclared identifier

Hi all,

I spotted another issue, somehow related to name lookup, again reduced from real world code:

void test (bool gross)
{
  struct compare_and_set
  {
    void operator() (const bool inner, const bool gross = false)
    {
      // the code
    }
  } compare_and_set2;

  compare_and_set2 (false, gross);
}

test.cc:11:28: error: use of undeclared identifier 'gross'
  compare_and_set2 (false, gross);
                           ^
1 diagnostic generated.

Either renaming the outer, the argument gross or removing the first argument of operator() makes it compile with clang++, ,too.

Haven't found a match in bugzilla, either.

  René

Also strange, and possibly related to the previous error you reported. Again, please file a Bugzilla.

  - Doug

http://llvm.org/bugs/show_bug.cgi?id=6383