[llvm-bugs] [Bug 43639] New: Assertion failure: matchesNodeFullFast doesn't match matchesNodeFullSlow
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Thu Oct 10 09:13:25 PDT 2019
    
    
  
https://bugs.llvm.org/show_bug.cgi?id=43639
            Bug ID: 43639
           Summary: Assertion failure: matchesNodeFullFast doesn't match
                    matchesNodeFullSlow
           Product: clang
           Version: 8.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Tooling
          Assignee: unassignedclangbugs at nondot.org
          Reporter: kpreisert at gmail.com
                CC: llvm-bugs at lists.llvm.org
The following code triggers the assertion "matchesNodeFullFast(Node) ==
matchesNodeFullSlow(Node)" in HasNameMatcher::matchesNode (part of the AST
matcher infrastructure) when matching the name "::hostent":
void func() {
  struct hostent* s;
}
matchesNodeFullFast says that it's not a match, matchesNodeFullSlow says that
it's a match. The problem seems to be that forward declaring "hostent" inside a
function leads to some weird condition. I couldn't figure out any more details.
It doesn't happen if the struct is named differently, but I'm not sure what's
special about "hostent".
I was only able to test this with 8.0.0, maybe someone can confirm if this
still occurs in later versions.
Note that I previously reported a related bug where the same assertion fires:
https://bugs.llvm.org/show_bug.cgi?id=42193
-- 
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/20191010/c1c88cc5/attachment.html>
    
    
More information about the llvm-bugs
mailing list