Hi,

similar to devel/universal-ctags, the parent project devel/ectags
is broken for the same reasons, also analyzed by guenther@.
Also, lots of people keep reporting it to me in private, so i'm
posting here.

Here is a minimal patch letting it build again; not tested at
run-time.  Note that this is a band-aid; a proper fix would require
changing all instances of __unused__ and __printf__ in all *.c files
to something like "ectags_unused", or even better just rely on the
standard __attribute__ names throughout and not define anything in
the first place.  But i'm not sure whether upstream still exists.

Should this be committed?

This overrides my previous patch sent to the MAINTAINER in private,
incorporating stylistic feedback from naddy@.

Yours,
  Ingo


Index: patches/patch-eiffel_c
===================================================================
RCS file: patches/patch-eiffel_c
diff -N patches/patch-eiffel_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-eiffel_c      6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: eiffel.c
+--- eiffel.c.orig
++++ eiffel.c
+@@ -34,6 +34,8 @@
+ #include "read.h"
+ #endif
+ 
++#define __unused__ __unused
++
+ /*
+ *   MACROS
+ */
Index: patches/patch-general_h
===================================================================
RCS file: patches/patch-general_h
diff -N patches/patch-general_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-general_h     6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: general.h
+--- general.h.orig
++++ general.h
+@@ -57,7 +57,9 @@
+  *  to prevent warnings about unused variables.
+  */
+ #if (__GNUC__ > 2  ||  (__GNUC__ == 2  &&  __GNUC_MINOR__ >= 7)) && !defined 
(__GNUG__)
++#if 0
+ # define __unused__  __attribute__((unused))
++#endif
+ # define __printf__(s,f)  __attribute__((format (printf, s, f)))
+ #else
+ # define __unused__
Index: patches/patch-lregex_c
===================================================================
RCS file: patches/patch-lregex_c
diff -N patches/patch-lregex_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-lregex_c      6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: lregex.c
+--- lregex.c.orig
++++ lregex.c
+@@ -35,6 +35,8 @@
+ #include "read.h"
+ #include "routines.h"
+ 
++#define __unused__ __unused
++
+ #ifdef HAVE_REGEX
+ 
+ /*
Index: patches/patch-lua_c
===================================================================
RCS file: patches/patch-lua_c
diff -N patches/patch-lua_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-lua_c 6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: lua.c
+--- lua.c.orig
++++ lua.c
+@@ -21,6 +21,8 @@
+ #include "read.h"
+ #include "vstring.h"
+ 
++#define __unused__ __unused
++
+ /*
+ *   DATA DEFINITIONS
+ */
Index: patches/patch-main_c
===================================================================
RCS file: patches/patch-main_c
diff -N patches/patch-main_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-main_c        6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: main.c
+--- main.c.orig
++++ main.c
+@@ -83,6 +83,8 @@
+ #include "read.h"
+ #include "routines.h"
+ 
++#define __unused__ __unused
++
+ /*
+ *   MACROS
+ */
Index: patches/patch-options_c
===================================================================
RCS file: patches/patch-options_c
diff -N patches/patch-options_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-options_c     6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: options.c
+--- options.c.orig
++++ options.c
+@@ -27,6 +27,8 @@
+ #include "parse.h"
+ #include "routines.h"
+ 
++#define __unused__ __unused
++
+ /*
+ *   MACROS
+ */
Index: patches/patch-parse_c
===================================================================
RCS file: patches/patch-parse_c
diff -N patches/patch-parse_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-parse_c       6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: parse.c
+--- parse.c.orig
++++ parse.c
+@@ -27,6 +27,8 @@
+ #include "routines.h"
+ #include "vstring.h"
+ 
++#define __unused__ __unused
++
+ /*
+ *   DATA DEFINITIONS
+ */
Index: patches/patch-python_c
===================================================================
RCS file: patches/patch-python_c
diff -N patches/patch-python_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-python_c      6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: python.c
+--- python.c.orig
++++ python.c
+@@ -24,6 +24,8 @@
+ #include "routines.h"
+ #include "debug.h"
+ 
++#define __unused__ __unused
++
+ /*
+ *   DATA DECLARATIONS
+ */
Index: patches/patch-routines_c
===================================================================
RCS file: patches/patch-routines_c
diff -N patches/patch-routines_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-routines_c    6 Sep 2017 11:23:43 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+stop stomping on implementation namespace
+
+Index: routines.c
+--- routines.c.orig
++++ routines.c
+@@ -62,6 +62,8 @@
+ #include "debug.h"
+ #include "routines.h"
+ 
++#define __unused__ __unused
++
+ /*
+ *   MACROS
+ */

Reply via email to