================
@@ -236,9 +236,22 @@ void nb13() [[clang::nonblocking]] { nb12(); }
struct PTMFTester {
typedef void (PTMFTester::*ConvertFunction)() [[clang::nonblocking]];
+ ConvertFunction mConvertFunc;
+
void convert() [[clang::nonblocking]];
- ConvertFunction mConvertFunc;
+ template <typename T>
+ struct Holder {
+ T value;
+
+ T& operator*() { return value; }
+ };
+
+
+ void ptmfInExpr(Holder<ConvertFunction>& holder) [[clang::nonblocking]]
+ {
+ (this->*(*holder))(); // This should not generate a warning.
----------------
Sirraide wrote:
Can you also add
```c++
((*this).*(*holder))();
```
as well as a test case that shows that we do issue a warning if the member
function is *not* `nonblocking`.
https://github.com/llvm/llvm-project/pull/166101
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits