bazuzi wrote:

For the following:
```
template <typename A, typename B>
struct Pair {
  Pair();

  A a;
  B b;
};

void target(int *i) {
  Pair<void (*)(int *), bool> p;
  auto [fp, b] = p;
  fp(i);
}
```

Running or compiling this code presents no misbehavior that I know of, but when 
running a dataflow analysis that queries `getFunctionType()` for `fp`, 
`nullptr` was returned, when in fact there was a valid type expected, roughly 
`void (*)(int*)`.

https://github.com/llvm/llvm-project/pull/102196
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to