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.
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);
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);
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);
#include <intprops.h>
#include <verify.h>
+/* 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