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: [email protected]
Reporter: [email protected]
CC: [email protected]
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._______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs