[Libreoffice-commits] core.git: compilerplugins/clang

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Jan 31 19:24:13 UTC 2019


 compilerplugins/clang/useuniqueptr.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 4d3571a309fe27eded7a11924658b75fd100c738
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Thu Jan 31 16:26:20 2019 +0100
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Thu Jan 31 20:23:39 2019 +0100

    Fix compilerplugins/clang/test/useuniqueptr.cxx for clang-cl
    
    ...where it failed with
    
    > error: 'error' diagnostics expected but not seen:
    >   File C:/lo-clang/core/compilerplugins/clang/test/useuniqueptr.cxx Line 266: rather manage this var with std::some_container<std::unique_ptr<T>> [loplugin:useuniqueptr]
    >   File C:/lo-clang/core/compilerplugins/clang/test/useuniqueptr.cxx Line 275: rather manage this member with std::some_container<std::unique_ptr<T>> [loplugin:useuniqueptr]
    
    apparently due to differences in how some std types are implemented.
    
    Change-Id: Ib81ed1a1da867359e7f22bb6fb6ceb3e610e2b41
    Reviewed-on: https://gerrit.libreoffice.org/67226
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/compilerplugins/clang/useuniqueptr.cxx b/compilerplugins/clang/useuniqueptr.cxx
index 6a006e9a7a2c..c4fa336dac55 100644
--- a/compilerplugins/clang/useuniqueptr.cxx
+++ b/compilerplugins/clang/useuniqueptr.cxx
@@ -676,7 +676,7 @@ void UseUniquePtr::CheckLoopDelete(const FunctionDecl* functionDecl, const CXXDe
                                 init = compat::IgnoreImplicit(x->getArg(0));
                             }
                         if (auto x = dyn_cast<CXXMemberCallExpr>(init))
-                            init = x->getImplicitObjectArgument();
+                            init = x->getImplicitObjectArgument()->IgnoreParenImpCasts();
                         if ((memberExpr = dyn_cast<MemberExpr>(init)))
                             break;
                         // look for deletes of an iterator object where the iterator is over a var


More information about the Libreoffice-commits mailing list