Issue 75754
Summary hasAnyArgument() spuriously ignores match
Labels new issue
Assignees
Reporter xb8g2pw0
    `hasAnyArgument()` spuriously ignores a match with the program:

 ```
void foo (void *, void *);

struct S {
};

void f() {
	S s;
	foo(&s, &s);
}
```
and the query:

```
m callExpr(hasAnyArgument(hasType(asString("S *"))))
0 matches. 
```

However, the query:

```
m callExpr(hasArgument(0,hasType(asString("S *"))))
```
returns the expected result:
```
...clang_ast_bug_2.cpp:10:2: note: "root" binds here
 10 |         foo(&s, &s);
      |         ^~~~~~~~~~~
1 match.
```
I am using clang-query 17.0.2 built, I believe, by Mozilla.

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to