compilerplugins/clang/noexceptmove.cxx |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 7a895ec4205659038aa95941b65715fed1a3e7be
Author:     Stephan Bergmann <stephan.bergm...@allotropia.de>
AuthorDate: Sun May 5 17:09:24 2024 +0200
Commit:     Stephan Bergmann <stephan.bergm...@allotropia.de>
CommitDate: Sun May 5 22:30:56 2024 +0200

    Avoid loplugin:noexceptmove failure with recent Clang 19 trunk
    
    > CallExpr 0x7fae572c85e0 '<dependent type>'
    > `-UnresolvedMemberExpr 0x7fae572c8580 '<bound member function type>' 
lvalue
    >   `-DeclRefExpr 0x7fae572c8560 'WeakReference<reference_type>' lvalue 
ParmVar 0x7fae572c76d0 'rWeakRef' 'WeakReference<reference_type> &&'
    > In file included from tools/source/ref/ref.cxx:21:
    > include/tools/weakbase.hxx:52:5: error: what's up doc? 
[loplugin:noexceptmove]
    >    52 |     rWeakRef.reset();
    >       |     ^~~~~~~~~~~~~~~~
    
    Change-Id: I5693fda3c4e5afb02e6229bcb8ea952a62f0e363
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167157
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de>

diff --git a/compilerplugins/clang/noexceptmove.cxx 
b/compilerplugins/clang/noexceptmove.cxx
index 04ec58044ce4..9be55e870e61 100644
--- a/compilerplugins/clang/noexceptmove.cxx
+++ b/compilerplugins/clang/noexceptmove.cxx
@@ -286,7 +286,8 @@ compat::optional<bool> NoExceptMove::IsCallThrows(const 
CallExpr* callExpr)
     }
 
     auto calleeExpr = callExpr->getCallee();
-    if (isa<CXXDependentScopeMemberExpr>(calleeExpr) || 
isa<UnresolvedLookupExpr>(calleeExpr))
+    if (isa<CXXDependentScopeMemberExpr>(calleeExpr) || 
isa<UnresolvedLookupExpr>(calleeExpr)
+        || isa<UnresolvedMemberExpr>(calleeExpr))
     {
         m_CannotFix.back() = true;
         return true;

Reply via email to