[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