[Bug c++/78313] New: [7 Regression] Misleading spelling suggestion

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Nov 11 13:46:00 GMT 2016


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

            Bug ID: 78313
           Summary: [7 Regression] Misleading spelling suggestion
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
                CC: bernds at gcc dot gnu.org, chengniansun at gmail dot com,
                    jakub at gcc dot gnu.org, unassigned at gcc dot gnu.org,
                    webrown.cpp at gmail dot com
        Depends on: 72774
  Target Milestone: ---

+++ This bug was initially created as a clone of Bug #72774 +++

// PR c++/72774
// { dg-do compile }

void baz ();
namespace A { void foo (); }
void bar ()
{
  using A::foo;
  0 ? static_cast<foo> (0) : baz;       // { dg-error "does not name a type" }
}

Actually, the suggestion looks wrong:

pr72774.C:9:19: error: ‘foo’ does not name a type; did you mean ‘foo’?

We call lookup_name_fuzzy with kind that we want a typename, but we actually
except for members consider even FUNCTION_DECLs/VAR_DECLs.  That doesn't look
right.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774
[Bug 72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree
check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’
in consider_binding_level, at cp/name-lookup.c:4721)


More information about the Gcc-bugs mailing list