[LyX/2.3.x] Avoid warnings with gcc 9

Jean-Marc Lasgouttes lasgouttes at lyx.org
Sat Oct 26 11:32:02 UTC 2019


commit 691f29b4c72cbd98ea7b47bd0d12be9d2235f25f
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Wed Jun 12 18:49:29 2019 +0200

    Avoid warnings with gcc 9
    
    The warning about unneeded std::move can be solved by conditioning on
    C++14 mode.
    
    The warnings about deprecated copy is harder, so we disable it for
    now. We will be able to fix our part, but Qt triggers it a lot too.
    
    (cherry picked from commit 134f3aedaf4150367cdc2f6855d695d3791a5353)
---
 config/lyxinclude.m4 |   11 +++++++----
 src/MetricsInfo.cpp  |    4 ++++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4
index 2c1a9af..1bf9def 100644
--- a/config/lyxinclude.m4
+++ b/config/lyxinclude.m4
@@ -406,8 +406,11 @@ if test x$GXX = xyes; then
   fi
   dnl Warnings are for preprocessor too
   if test x$enable_warnings = xyes ; then
-      AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra"
-  fi
+      case $gxx_version in
+	  9.*) AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra -Wno-deprecated-copy";;
+	  *) AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra";;
+      esac
+    fi
   case $gxx_version in
       2.*|3.*) AC_ERROR([gcc >= 4.6 is required]);;
       4.0*|4.1*|4.2*|4.3*|4.4*|4.5*) AC_ERROR([gcc >= 4.6 is required]);;
@@ -871,7 +874,7 @@ AC_DEFUN([MSYS_AC_CANONICAL_PATH],
 dnl this is used by the macro blow to general a proper config.h.in entry
 m4_define([LYX_AH_CHECK_DECL],
 [AH_TEMPLATE(AS_TR_CPP(HAVE_DECL_$1),
-  [Define if you have the prototype for function `$1'])])
+  [Define if you have the prototype for function `$1'])])dnl`
 
 dnl Check things are declared in headers to avoid errors or warnings.
 dnl Called like LYX_CHECK_DECL(function, header1 header2...)
@@ -891,7 +894,7 @@ done])
 dnl this is used by the macro below to generate a proper config.h.in entry
 m4_define([LYX_AH_CHECK_DEF],
 [AH_TEMPLATE(AS_TR_CPP(HAVE_DEF_$1),
-  [Define to 1 if `$1' is defined in `$2'])])
+  [Define to 1 if `$1' is defined in `$2'])])dnl'
 
 dnl Check whether name is defined in header by using it in codesnippet.
 dnl Called like LYX_CHECK_DEF(name, header, codesnippet)
diff --git a/src/MetricsInfo.cpp b/src/MetricsInfo.cpp
index 60a0045..7ab62dc 100644
--- a/src/MetricsInfo.cpp
+++ b/src/MetricsInfo.cpp
@@ -73,7 +73,11 @@ Changer MetricsBase::changeFontSet(string const & name)
 	    && ((isTextFont(oldname) && oldcolor != Color_foreground)
 	        || (isMathFont(oldname) && oldcolor != Color_math)))
 		font.setColor(oldcolor);
+#if __cplusplus >= 201402L
+	return rc;
+#else
 	return move(rc);
+#endif
 }
 
 


More information about the lyx-cvs mailing list