From e8bb0420a0a0aefc35932c9b5ee3167f6b237def Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 17 Dec 2018 08:11:55 -0800 Subject: [PATCH] More porting to GCC 8 of --enable-gcc-warnings Backport from master. I ran into this when building Emacs 26 with GCC 8 on Fedora 29 x86. * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu): * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance): * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]: No longer const. * src/emacs-module.c: Ignore -Wcast-function-type. --- lwlib/lwlib-Xaw.h | 6 ++---- lwlib/lwlib-Xlw.h | 6 ++---- lwlib/lwlib.h | 6 ------ src/emacs-module.c | 5 +++++ 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/lwlib/lwlib-Xaw.h b/lwlib/lwlib-Xaw.h index 363334b575e..644676f320d 100644 --- a/lwlib/lwlib-Xaw.h +++ b/lwlib/lwlib-Xaw.h @@ -15,15 +15,13 @@ void xaw_update_one_widget (widget_instance *, Widget, widget_value *, Boolean); void -xaw_update_one_value (widget_instance *, Widget, widget_value *) - ATTRIBUTE_CONST; +xaw_update_one_value (widget_instance *, Widget, widget_value *); void xaw_destroy_instance (widget_instance *); void -xaw_popup_menu (Widget, XEvent *) - ATTRIBUTE_CONST; +xaw_popup_menu (Widget, XEvent *); void xaw_pop_instance (widget_instance *, Boolean); diff --git a/lwlib/lwlib-Xlw.h b/lwlib/lwlib-Xlw.h index 2d38eb7be66..b0790dc3a59 100644 --- a/lwlib/lwlib-Xlw.h +++ b/lwlib/lwlib-Xlw.h @@ -15,15 +15,13 @@ xlw_update_one_widget (widget_instance* instance, Widget widget, void xlw_update_one_value (widget_instance* instance, Widget widget, - widget_value* val) - ATTRIBUTE_CONST; + widget_value* val); void xlw_destroy_instance (widget_instance* instance); void -xlw_pop_instance (widget_instance* instance, Boolean up) - ATTRIBUTE_CONST; +xlw_pop_instance (widget_instance* instance, Boolean up); void xlw_popup_menu (Widget widget, XEvent * event); diff --git a/lwlib/lwlib.h b/lwlib/lwlib.h index 66730fd8d77..41d3e0139d2 100644 --- a/lwlib/lwlib.h +++ b/lwlib/lwlib.h @@ -111,15 +111,9 @@ void lw_refigure_widget (Widget w, Boolean doit); Boolean lw_window_is_in_menubar (Window win, Widget menubar_widget); /* Manage resizing: TRUE permits resizing widget w; FALSE disallows it. */ -#ifndef USE_MOTIF -ATTRIBUTE_CONST -#endif void lw_allow_resizing (Widget w, Boolean flag); /* Set up the main window. */ -#ifndef USE_MOTIF -ATTRIBUTE_CONST -#endif void lw_set_main_areas (Widget parent, Widget menubar, Widget work_area); diff --git a/src/emacs-module.c b/src/emacs-module.c index c20902d0729..88049d29cf0 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c @@ -36,6 +36,11 @@ along with GNU Emacs. If not, see . */ #include #include +/* This module is lackadaisical about function casts. */ +#if GNUC_PREREQ (8, 0, 0) +# pragma GCC diagnostic ignored "-Wcast-function-type" +#endif + /* We use different strategies for allocating the user-visible objects (struct emacs_runtime, emacs_env, emacs_value), depending on whether the user supplied the -module-assertions flag. If