[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 67/115: [build]: Improve portability to unfree compilers.
From: |
G. Branden Robinson |
Subject: |
[groff] 67/115: [build]: Improve portability to unfree compilers. |
Date: |
Thu, 1 Jun 2023 10:46:11 -0400 (EDT) |
gbranden pushed a commit to branch branden-2022-06-01
in repository groff.
commit 4f89d7ef1fd3f94e422d635bcb06f4112bc269b7
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Sun Apr 16 00:30:29 2023 -0500
[build]: Improve portability to unfree compilers.
* bootstrap.conf (gnulib_modules): Add "attribute".
* src/libs/libgroff/getopt.c:
* src/libs/libgroff/new.cpp: Include gnulib's "attribute.h" header file.
* src/libs/libgroff/getopt.c (_getopt_initialize):
* src/libs/libgroff/new.cpp (operator delete): Replace GNU C unused
attribute syntax with gnulib's "MAYBE_UNUSED".
Thanks to Bruno Haible for the report and suggested remedy.
ANNOUNCE: Drop item about builds failing with MSVC due to GNU C-style
attribute usage. This might no longer happen, but there could be other
reasons we don't successfully build with it.
---
ANNOUNCE | 4 ----
ChangeLog | 14 ++++++++++++++
bootstrap.conf | 1 +
src/libs/libgroff/getopt.c | 5 +++--
src/libs/libgroff/new.cpp | 5 +++--
5 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/ANNOUNCE b/ANNOUNCE
index c43285ed4..aed8600e8 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -164,10 +164,6 @@ o Solaris 10 has known problems with automated tests; see
the "PROBLEMS"
o There is a problem building on "newlib"-using systems when X11 support
is enabled; see the "PROBLEMS" file in the distribution archive.
-o The build is known to not work with the MSVC compiler. There are no
- plans to address this before C23 standardized attributes become
- available.
-
News
====
diff --git a/ChangeLog b/ChangeLog
index 427f1bcb3..b108ebb88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2023-04-16 G. Branden Robinson <g.branden.robinson@gmail.com>
+
+ [build]: Improve portability to non-GNU, non-LLVM compilers.
+
+ * bootstrap.conf (gnulib_modules): Add "attribute".
+ * src/libs/libgroff/getopt.c:
+ * src/libs/libgroff/new.cpp: Include gnulib's "attribute.h"
+ header file.
+ * src/libs/libgroff/getopt.c (_getopt_initialize):
+ * src/libs/libgroff/new.cpp (operator delete): Replace GNU C
+ unused attribute syntax with gnulib's "MAYBE_UNUSED".
+
+ Thanks to Bruno Haible for the report and suggested remedy.
+
2023-03-16 G. Branden Robinson <g.branden.robinson@gmail.com>
* src/libs/libxutil/XFontName.c (utoa): Rename function from
diff --git a/bootstrap.conf b/bootstrap.conf
index 7a2099fb8..aa96ac6df 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -36,6 +36,7 @@ checkout_only_file=README.git
# havelib provides config.rpath
# can be get through gettext though
gnulib_modules="
+ attribute
git-version-gen
havelib
wcwidth
diff --git a/src/libs/libgroff/getopt.c b/src/libs/libgroff/getopt.c
index 6efa5299b..2bf2eee8e 100644
--- a/src/libs/libgroff/getopt.c
+++ b/src/libs/libgroff/getopt.c
@@ -28,6 +28,8 @@
# include <config.h>
#endif
+#include <attribute.h> // gnulib: MAYBE_UNUSED
+
#include <stdio.h>
/* This needs to come after some library #include
@@ -248,8 +250,7 @@ exchange (char **argv, struct _getopt_data *d)
/* Initialize the internal data when the first call is made. */
static const char *
-_getopt_initialize (__attribute__((__unused__)) int argc,
- __attribute__((__unused__)) char **argv,
+_getopt_initialize (MAYBE_UNUSED int argc, MAYBE_UNUSED char **argv,
const char *optstring, int posixly_correct,
struct _getopt_data *d)
{
diff --git a/src/libs/libgroff/new.cpp b/src/libs/libgroff/new.cpp
index 2af976cf4..73b24efd9 100644
--- a/src/libs/libgroff/new.cpp
+++ b/src/libs/libgroff/new.cpp
@@ -16,6 +16,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#include <attribute.h> // gnulib: MAYBE_UNUSED
+
#include "lib.h"
#include <stddef.h>
@@ -54,8 +56,7 @@ void operator delete(void *p) throw()
free(p);
}
-void operator delete(void *p,
- __attribute__((__unused__)) long unsigned int size)
+void operator delete(void *p, MAYBE_UNUSED long unsigned int size)
{
// It's ugly to duplicate the code from delete(void *) above, but if
// we don't, g++ 6.3 can't figure out we're calling through it to
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 67/115: [build]: Improve portability to unfree compilers.,
G. Branden Robinson <=