diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2020-12-20 09:47:06 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2020-12-20 13:07:02 +0100 |
commit | cf7306194f5c677fef75e3ff5098676ee302359e (patch) | |
tree | a52a0980de72c7f70e4f3ae55126579655440773 /compilerplugins | |
parent | 24b02a4f2507f40fe9d36c393c59e12c072428c3 (diff) |
No longer need to worry about ambiguous operator== in loplugin:stringviewparam
...after 46c5de832868d2812448b2caace3eeaa9237b9f6 "make *String(string_view)
constructors explicit"
Change-Id: I6e884c762a2fc91f5dd6fbb197a596fd60f17cae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108043
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'compilerplugins')
-rw-r--r-- | compilerplugins/clang/stringviewparam.cxx | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/compilerplugins/clang/stringviewparam.cxx b/compilerplugins/clang/stringviewparam.cxx index 1e4e71c2d801..1e802068da9c 100644 --- a/compilerplugins/clang/stringviewparam.cxx +++ b/compilerplugins/clang/stringviewparam.cxx @@ -194,11 +194,10 @@ SmallVector<DeclRefExpr const*, 2> relevantCXXOperatorCallExpr(CXXOperatorCallEx return wrap(relevantDeclRefExpr(arg0)); } - // TODO Can't currently convert rtl::OString because we end up with ambiguous operator== - // (one in string_view header and one in rtl/string.hxx header) auto st1 = relevantStringType(arg0->getType()); auto st2 = relevantStringType(arg1->getType()); - if (st1 == StringType::RtlOustring && st2 == StringType::RtlOustring) + if ((st1 == StringType::RtlOstring && st2 == StringType::RtlOstring) + || (st1 == StringType::RtlOustring && st2 == StringType::RtlOustring)) { SmallVector<DeclRefExpr const*, 2> v; if (auto const e = relevantDeclRefExpr(arg0)) @@ -211,11 +210,11 @@ SmallVector<DeclRefExpr const*, 2> relevantCXXOperatorCallExpr(CXXOperatorCallEx } return v; } - if (st1 == StringType::RtlOustring && isStringView(arg1->getType())) + if (st1 != StringType::None && isStringView(arg1->getType())) { return wrap(relevantDeclRefExpr(arg0)); } - if (st2 == StringType::RtlOustring && isStringView(arg0->getType())) + if (st2 != StringType::None && isStringView(arg0->getType())) { return wrap(relevantDeclRefExpr(arg1)); } |