Hi,

Christian Weisgerber wrote on Wed, Apr 18, 2018 at 01:18:22PM +0200:
> Peter Hessler:

>> This patch set removes the "register" keyword, which is no longer
>> legal to use.

> Why bother?  It doesn't cause errors, just warnings.
> Instead of patches, I would suggest defining it away by adding
> -Dregister= to CXXFLAGS.

My impression is that -Wno-deprecated-register might be even safer
because it doesn't blindly change the code but just hide the
warnings.

The following patch fixes the problems that must be fixed to build
with clang6.  They are all related to the well-known clang6 effect
that NULL cannot be assigned to certain pointer types, in this
case function pointers.

The flag -Wno-c++11-narrowing is *really* required.  There are
many dozen, maybe hundreds of violations scattered all over the
place.  I suspect that some of them may actually be overflow bugs
and result in rendering errors (or worse), but auditing for that
is really a task for upstream, not for us (unless the MAINTAINER
is extremely bored :).

No, i'm not gonna get addicted to this game.  Testing it feels like
brutal work.  It runs for me, and so do i.  But we want to get the
tree back in shape, right?

OK?
  Ingo


Index: Makefile
===================================================================
RCS file: /cvs/ports/games/alephone/alephone/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- Makefile    26 Jul 2017 22:45:20 -0000      1.23
+++ Makefile    20 Apr 2018 00:46:12 -0000
@@ -6,7 +6,7 @@ COMMENT =               open source game engine based
 DATE =                 20150620
 DISTNAME =             AlephOne-${DATE}
 PKGNAME =              alephone-1.2.1
-REVISION =             0
+REVISION =             1
 
 EXTRACT_SUFX =         .tar.bz2
 CATEGORIES =           games x11
@@ -48,5 +48,10 @@ AUTOMAKE_VER =               1.9
 CONFIGURE_ENV =                AUTOCONF_VERSION=${AUTOCONF_VER} \
                        AUTOMAKE_VERSION=${AUTOMAKE_VER} \
                        CPPFLAGS=-I${LOCALBASE}/include
+
+.include <bsd.port.arch.mk>
+.if ${PROPERTIES:Mclang}
+CXXFLAGS +=            -Wno-c++11-narrowing -Wno-deprecated-register
+.endif
 
 .include <bsd.port.mk>
Index: patches/patch-Source_Files_Misc_sdl_dialogs_cpp
===================================================================
RCS file: patches/patch-Source_Files_Misc_sdl_dialogs_cpp
diff -N patches/patch-Source_Files_Misc_sdl_dialogs_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_Files_Misc_sdl_dialogs_cpp     20 Apr 2018 00:46:12 
-0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: Source_Files/Misc/sdl_dialogs.cpp
+--- Source_Files/Misc/sdl_dialogs.cpp.orig
++++ Source_Files/Misc/sdl_dialogs.cpp
+@@ -2018,7 +2018,7 @@ void tab_placer::visible(bool visible)
+ 
+ dialog::dialog() : active_widget(NULL), mouse_widget(0), 
active_widget_num(UNONE), done(false),
+             cursor_was_visible(false), parent_dialog(NULL),
+-                 processing_function(NULL), placer(0), last_redraw(0)
++                 processing_function(0), placer(0), last_redraw(0)
+ {
+ }
+ 
Index: patches/patch-Source_Files_Misc_sdl_widgets_cpp
===================================================================
RCS file: patches/patch-Source_Files_Misc_sdl_widgets_cpp
diff -N patches/patch-Source_Files_Misc_sdl_widgets_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_Files_Misc_sdl_widgets_cpp     20 Apr 2018 00:46:12 
-0000
@@ -0,0 +1,32 @@
+$OpenBSD$
+
+Index: Source_Files/Misc/sdl_widgets.cpp
+--- Source_Files/Misc/sdl_widgets.cpp.orig
++++ Source_Files/Misc/sdl_widgets.cpp
+@@ -719,7 +719,7 @@ void w_select_button::place(const SDL_Rect &r, placeme
+ 
+ static const char* sNoValidOptionsString = "(no valid options)"; // XXX 
should be moved outside compiled code e.g. to MML
+ 
+-w_select::w_select(size_t s, const char **l) : widget(LABEL_WIDGET), 
labels(l), we_own_labels(false), selection(s), 
selection_changed_callback(NULL), utf8(false)
++w_select::w_select(size_t s, const char **l) : widget(LABEL_WIDGET), 
labels(l), we_own_labels(false), selection(s), selection_changed_callback(0), 
utf8(false)
+ {
+       num_labels = 0;
+         if(labels) {
+@@ -1113,7 +1113,7 @@ void w_color_picker::draw(SDL_Surface *s) const
+  */
+ 
+ w_text_entry::w_text_entry(size_t max_c, const char *initial_text)
+-      : widget(TEXT_ENTRY_WIDGET), enter_pressed_callback(NULL), 
value_changed_callback(NULL), max_chars(max_c), enable_mac_roman(false)
++      : widget(TEXT_ENTRY_WIDGET), enter_pressed_callback(0), 
value_changed_callback(0), max_chars(max_c), enable_mac_roman(false)
+ {
+       // Initialize buffer
+       buf = new char[max_chars + 1];
+@@ -2115,7 +2115,7 @@ void w_select_popup::gotSelected ()
+ static const char* const sFileChooserInvalidFileString = "(no valid 
selection)";
+ 
+ w_file_chooser::w_file_chooser(const char* inDialogPrompt, Typecode 
inTypecode)
+-      : w_select_button("", NULL, NULL, true), typecode(inTypecode)
++      : w_select_button("", 0, NULL, true), typecode(inTypecode)
+ {
+       strncpy(dialog_prompt, inDialogPrompt, sizeof(dialog_prompt));
+       set_selection(sFileChooserInvalidFileString);
Index: patches/patch-Source_Files_Misc_sdl_widgets_h
===================================================================
RCS file: patches/patch-Source_Files_Misc_sdl_widgets_h
diff -N patches/patch-Source_Files_Misc_sdl_widgets_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_Files_Misc_sdl_widgets_h       20 Apr 2018 00:46:12 
-0000
@@ -0,0 +1,56 @@
+$OpenBSD$
+
+Index: Source_Files/Misc/sdl_widgets.h
+--- Source_Files/Misc/sdl_widgets.h.orig
++++ Source_Files/Misc/sdl_widgets.h
+@@ -277,12 +277,12 @@ class w_button_base : public widget { (protected)
+ 
+ class w_button : public w_button_base {
+ public:
+-      w_button(const char *text, action_proc proc = NULL, void *arg = NULL) : 
w_button_base(text, proc, arg, BUTTON_WIDGET) {}
++      w_button(const char *text, action_proc proc = 0, void *arg = NULL) : 
w_button_base(text, proc, arg, BUTTON_WIDGET) {}
+ };
+ 
+ class w_tiny_button : public w_button_base {
+ public:
+-      w_tiny_button(const char *text, action_proc proc = NULL, void *arg = 
NULL) : w_button_base(text, proc, arg, TINY_BUTTON) {}
++      w_tiny_button(const char *text, action_proc proc = 0, void *arg = NULL) 
: w_button_base(text, proc, arg, TINY_BUTTON) {}
+ };
+ 
+ class w_hyperlink : public w_button_base {
+@@ -802,7 +802,7 @@ class w_string_list : public w_list<string> { (private
+ 
+ class w_select_popup : public w_select_button {
+ public:
+-      w_select_popup (action_proc p = NULL, void *a = NULL);
++      w_select_popup (action_proc p = 0, void *a = NULL);
+       
+       void set_labels (const vector<string>& inLabels);/* {labels = 
inLabels;}*/
+       void set_selection (int value);
+@@ -1079,7 +1079,7 @@ class ToggleWidget : public SDLWidgetWidget, public Bi
+       ToggleWidget (w_toggle* toggle)
+               : SDLWidgetWidget (toggle)
+               , m_toggle (toggle)
+-              , m_callback (NULL)
++              , m_callback (0)
+               { m_toggle->set_selection_changed_callback 
(boost::bind(&ToggleWidget::massage_callback, this, _1)); }
+ 
+       void set_callback (ControlHitCallback callback) { m_callback = 
callback; }
+@@ -1117,7 +1117,7 @@ class SelectorWidget : public SDLWidgetWidget, public 
+ protected:
+       SelectorWidget (widget* in_widget)
+               : SDLWidgetWidget (in_widget)
+-              , m_callback (NULL)
++              , m_callback (0)
+               {}
+ 
+       ControlHitCallback m_callback;
+@@ -1201,7 +1201,7 @@ class ButtonWidget : public SDLWidgetWidget (public)
+       ButtonWidget (w_button_base* button)
+               : SDLWidgetWidget (button)
+               , m_button (button)
+-              , m_callback (NULL)
++              , m_callback (0)
+               { m_button->set_callback (bounce_callback, this); }
+ 
+       void set_callback (ControlHitCallback callback) { m_callback = 
callback; }
Index: patches/patch-Source_Files_Network_Metaserver_SdlMetaserverClientUi_cpp
===================================================================
RCS file: 
patches/patch-Source_Files_Network_Metaserver_SdlMetaserverClientUi_cpp
diff -N patches/patch-Source_Files_Network_Metaserver_SdlMetaserverClientUi_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_Files_Network_Metaserver_SdlMetaserverClientUi_cpp     
20 Apr 2018 00:46:12 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: Source_Files/Network/Metaserver/SdlMetaserverClientUi.cpp
+--- Source_Files/Network/Metaserver/SdlMetaserverClientUi.cpp.orig
++++ Source_Files/Network/Metaserver/SdlMetaserverClientUi.cpp
+@@ -64,7 +64,7 @@ class SdlMetaserverClientUi : public MetaserverClientU
+               placer->add(new w_spacer(), true);
+ 
+               table_placer *players_games_placer = new table_placer(2, 
get_theme_space(SPACER_WIDGET));
+-              w_players_in_room* players_in_room_w = new 
w_players_in_room(NULL, 216, get_theme_space(METASERVER_PLAYERS));
++              w_players_in_room* players_in_room_w = new w_players_in_room(0, 
216, get_theme_space(METASERVER_PLAYERS));
+               
+               players_games_placer->col_flags(1, placeable::kFill);
+               players_games_placer->dual_add(players_in_room_w, d);
+@@ -119,7 +119,7 @@ class SdlMetaserverClientUi : public MetaserverClientU
+               entry_cancel_placer->dual_add(chatentry_w, d);
+               entry_cancel_placer->add_flags();
+               
+-              w_tiny_button* cancel_w = new w_tiny_button("CANCEL", NULL, &d);
++              w_tiny_button* cancel_w = new w_tiny_button("CANCEL", 0, &d);
+               entry_cancel_placer->dual_add(cancel_w, d);
+ 
+               placer->add_flags(placeable::kFill);
Index: patches/patch-Source_Files_Network_network_dialogs_cpp
===================================================================
RCS file: patches/patch-Source_Files_Network_network_dialogs_cpp
diff -N patches/patch-Source_Files_Network_network_dialogs_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_Files_Network_network_dialogs_cpp      20 Apr 2018 
00:46:12 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: Source_Files/Network/network_dialogs.cpp
+--- Source_Files/Network/network_dialogs.cpp.orig
++++ Source_Files/Network/network_dialogs.cpp
+@@ -2559,7 +2559,7 @@ class SdlGatherDialog : public GatherDialog (public)
+       
+               // m_dialog.add(new w_static_text("Players on Network"));
+ 
+-              w_joining_players_in_room* foundplayers_w = new 
w_joining_players_in_room(NULL, 320, 3);
++              w_joining_players_in_room* foundplayers_w = new 
w_joining_players_in_room(0, 320, 3);
+               placer->dual_add(foundplayers_w, m_dialog);
+       
+               horizontal_placer *autogather_placer = new 
horizontal_placer(get_theme_space(ITEM_WIDGET), true);

Reply via email to