diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2021-11-12 09:56:30 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2021-11-12 11:23:14 +0100 |
commit | f8a30a87a9d0c68dc16d5fa2ca63f687b1d90da1 (patch) | |
tree | 8ab83492dadcebf05308ba883c30ca924a14fd9a /starmath/source/ooxmlimport.cxx | |
parent | 9c8076f438dfac311a9c7dce559e8ab3ea4fd6e0 (diff) |
Fix (mis-)uses of temporary O[U]StringLiteral
...as sub-expressions of ternary operators, which happened to keep compiling
after 4b9e440c51be3e40326bc90c33ae69885bfb51e4 "Turn OStringLiteral into a
consteval'ed, static-refcound rtl_String" and
e6dfaf9f44f9939abc338c83b3024108431d0f69 "Turn OUStringLiteral into a
consteval'ed, static-refcound rtl_uString" because both branches are of the same
type O[U]StringLiteral<N>, and which didn't cause any issues because no dangling
pointers to those temporary objects escaped the surrounding full expressions.
This was found with an experimental build with VS 2022 with
--enable-latest-c++, which would support HAVE_CPP_CONSTEVAL after some linking
fix in the configure.ac detection code (which is forthcoming in a later commit)
and flagged all these uses in ternary operators as error C7595 "call to
immediate function is not a constant expression". That error looks bogus (and
it also caused a false
> sd/source/ui/unoidl/unoobj.cxx(742): error C7595: 'Color::Color': call to immediate function is not a constant expression
so HAVE_CPP_CONSTEVAL will need to remain undefined for VS 2022 until that
compiler bug is fixed), but it nicely found all these cases that should arguably
be cleaned up.
Change-Id: I81de94e8af5a6c50e5fe7dfa1a4b253e0c2a68f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125082
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'starmath/source/ooxmlimport.cxx')
-rw-r--r-- | starmath/source/ooxmlimport.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx index 5290ad12606c..d14a4d2023b6 100644 --- a/starmath/source/ooxmlimport.cxx +++ b/starmath/source/ooxmlimport.cxx @@ -7,6 +7,9 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include <sal/config.h> + +#include <string_view> #include "ooxmlimport.hxx" #include <types.hxx> @@ -439,7 +442,8 @@ OUString SmOoxmlImport::handleLimLowUpp( LimLowUpp_t limlowupp ) if( limlowupp == LimLow && e.endsWith( " underbrace { }" )) return e.subView( 0, e.getLength() - 2 ) + lim + "}"; return e - + ( limlowupp == LimLow ? OUStringLiteral( u" csub {" ) : OUStringLiteral( u" csup {" )) + + ( limlowupp == LimLow + ? std::u16string_view( u" csub {" ) : std::u16string_view( u" csup {" )) + lim + "}"; } |