On Fri, May 05, 2023 at 07:28:59PM +0200, Jean-Marc Lasgouttes wrote:
commit 3ae5d6bdec1df23cc0d848b2d8bf6b0932eeee3b
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Fri May 5 20:35:23 2023 +0200
Do not return copies of string members
This fixes the g++ 12 warnings below.
After this commit my cygwin build crashes badly at startup. I can't even
get a backtrace. What is strange is that a native Windows build works
fine, instead. Both builds use the same version of gcc:
$ g++ -dumpfullversion
11.3.0
$ x86_64-w64-mingw32-g++ -dumpfullversion
11.3.0
I am baffled.
../../master/src/Converter.cpp:714:55: warning: possibly dangling
reference to a temporary [-Wdangling-reference]
714 | Mover const & mover =
getMover(conv.to());
| ^~~~~
../../master/src/Converter.cpp:714:71: note: the temporary was destroyed at
the end of the full expression ‘lyx::getMover(lyx::Converter::to() const())’
714 | Mover const & mover =
getMover(conv.to());
|
~~~~~~~~^~~~~~~~~~~
../../master/src/Converter.cpp:786:39: warning: possibly dangling reference
to a temporary [-Wdangling-reference]
786 | Mover const & mover = getMover(conv.from());
| ^~~~~
../../master/src/Converter.cpp:786:55: note: the temporary was destroyed at
the end of the full expression ‘lyx::getMover(lyx::Converter::from() const())’
786 | Mover const & mover = getMover(conv.from());
---
src/Converter.h | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/Converter.h b/src/Converter.h
index 091dbcd..9e8249d 100644
--- a/src/Converter.h
+++ b/src/Converter.h
@@ -52,15 +52,15 @@ public:
///
void readFlags();
///
- std::string const from() const { return from_; }
+ std::string const & from() const { return from_; }
///
- std::string const to() const { return to_; }
+ std::string const & to() const { return to_; }
///
- std::string const command() const { return command_; }
+ std::string const & command() const { return command_; }
///
void setCommand(std::string const & command);
///
- std::string const flags() const { return flags_; }
+ std::string const & flags() const { return flags_; }
///
void setFlags(std::string const & flags) { flags_ = flags; }
///
@@ -74,7 +74,7 @@ public:
///
bool latex() const { return latex_; }
///
- std::string const latex_flavor() const { return latex_flavor_; }
+ std::string const & latex_flavor() const { return latex_flavor_; }
///
bool docbook() const { return docbook_; }
///
@@ -84,13 +84,13 @@ public:
///
bool nice() const { return nice_; }
///
- std::string const result_dir() const { return result_dir_; }
+ std::string const & result_dir() const { return result_dir_; }
///
- std::string const result_file() const { return result_file_; }
+ std::string const & result_file() const { return result_file_; }
///
- std::string const parselog() const { return parselog_; }
+ std::string const & parselog() const { return parselog_; }
///
- std::string const hyperref_driver() const { return href_driver_; }
+ std::string const & hyperref_driver() const { return href_driver_; }
private:
///
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs
--
Enrico
--
lyx-devel mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-devel