[LLVMbugs] [Bug 23030] New: Clang always looks up member names for redeclaration in the enclosing namespace scope

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Mar 25 19:42:40 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=23030

            Bug ID: 23030
           Summary: Clang always looks up member names for redeclaration
                    in the enclosing namespace scope
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: chandlerc at gmail.com
                CC: llvmbugs at cs.uiuc.edu, richard-llvm at metafoo.co.uk
    Classification: Unclassified

This lookup always fails and is "harmless". Except that it is making the
redeclaration name lookup cost way more than it strictly needs to.

This can be observed easily by asserting on the existence of DeclarationName
that is a CXXConstructorName inside of a non-CXXRecordDecl DeclContext's
StoredDeclsMap. You must also be using an external AST source in order to
enable caching of negative lookups. We shouldn't ever see such a thing, and
today we do.

Unfortunately fixing this requires spending serious time improving the
early-exit from CppLookupName which is a terribly subtle code path. Just filing
a bug here to track it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150326/503c479f/attachment.html>


More information about the llvm-bugs mailing list