On Wed, May 10, 2023 at 11:21:04AM +0200, Jean-Marc Lasgouttes wrote:
Le 09/05/2023 à 22:08, Enrico Forestieri a écrit :
On Fri, May 05, 2023 at 07:28:59PM +0200, Jean-Marc Lasgouttes wrote:
commit 3ae5d6bdec1df23cc0d848b2d8bf6b0932eeee3b
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
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:
Strange... Did you try to run it under valgrind or something similar?
Unfortunately valgrind is not available on cygwin and I don't know of
any other similar software.
I do not see that. Valgrind output horrors (more on that later), but
not related to this. Did you check whether a full rebuild helps?
No, it does not. Simply reverting the commit solves the issue.
However I get a lot of warnings like the following:
In file included from ../../../../src/frontends/qt/Toolbars.cpp:15:
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::from() const’:
../../../../src/Converter.h:55:51: warning: returning reference to temporary
[-Wreturn-local-addr]
55 | std::string const & from() const { return from_; }
| ^~~~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::to() const’:
../../../../src/Converter.h:57:49: warning: returning reference to temporary
[-Wreturn-local-addr]
57 | std::string const & to() const { return to_; }
| ^~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::command() const’:
../../../../src/Converter.h:59:54: warning: returning reference to temporary
[-Wreturn-local-addr]
59 | std::string const & command() const { return command_; }
| ^~~~~~~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::flags() const’:
../../../../src/Converter.h:63:52: warning: returning reference to temporary
[-Wreturn-local-addr]
63 | std::string const & flags() const { return flags_; }
| ^~~~~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::latex_flavor() const’:
../../../../src/Converter.h:77:59: warning: returning reference to temporary
[-Wreturn-local-addr]
77 | std::string const & latex_flavor() const { return
latex_flavor_; }
| ^~~~~~~~~~~~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::result_dir() const’:
../../../../src/Converter.h:87:57: warning: returning reference to temporary
[-Wreturn-local-addr]
87 | std::string const & result_dir() const { return result_dir_; }
| ^~~~~~~~~~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::result_file() const’:
../../../../src/Converter.h:89:58: warning: returning reference to temporary
[-Wreturn-local-addr]
89 | std::string const & result_file() const { return result_file_; }
| ^~~~~~~~~~~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::parselog() const’:
../../../../src/Converter.h:91:55: warning: returning reference to temporary
[-Wreturn-local-addr]
91 | std::string const & parselog() const { return parselog_; }
| ^~~~~~~~~
../../../../src/Converter.h: In member function ‘const string&
lyx::Converter::hyperref_driver() const’:
../../../../src/Converter.h:93:62: warning: returning reference to temporary
[-Wreturn-local-addr]
93 | std::string const & hyperref_driver() const { return
href_driver_; }
|
^~~~~~~~~~~~
--
Enrico
--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel