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: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
    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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to