On 12/18/19 4:49 PM, Bruno Haible wrote:
if you want to fix this warning: Good patches are welcome.

Having a bit of a soft spot for Solaris-based systems, I installed the attached. It fixes the warning for me and is obviously safe for typical (i.e., !__SUNPRO_CC) platforms.
>From 876946f8d98e3da24a3f6a8a5262419225dad4c8 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Wed, 18 Dec 2019 17:05:02 -0800
Subject: [PATCH] Improve port of AC_C_RESTRICT to Oracle C++

Problem reported by Christian Biesinger in:
https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
* m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
Oracle Developer Studio C++ 12.5 or later.
---
 ChangeLog           |  8 ++++++++
 m4/gnulib-common.m4 | 13 +++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6bf421827..1f0792e95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2019-12-18  Paul Eggert  <egg...@cs.ucla.edu>
+
+	Improve port of AC_C_RESTRICT to Oracle C++
+	Problem reported by Christian Biesinger in:
+	https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
+	* m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
+	Oracle Developer Studio C++ 12.5 or later.
+
 2019-12-18  Bruno Haible  <br...@clisp.org>
 
 	wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index d8f0d3fb5..96664855b 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -415,12 +415,13 @@ AC_DEFUN([AC_C_RESTRICT],
    nothing if this is not supported.  Do not define if restrict is
    supported directly.  */
 #undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict or
-   __restrict__, even though the corresponding Sun C compiler ends up with
-   "#define restrict _Restrict" or "#define restrict __restrict__" in the
-   previous line.  Perhaps some future version of Sun C++ will work with
-   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
-#if defined __SUNPRO_CC && !defined __RESTRICT
+/* Work around a bug in older versions of Sun C++, which did not
+   #define __restrict__ or support _Restrict or __restrict__
+   even though the corresponding Sun C compiler ended up with
+   "#define restrict _Restrict" or "#define restrict __restrict__"
+   in the previous line.  This workaround can be removed once
+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
 # define _Restrict
 # define __restrict__
 #endif])
-- 
2.24.1

Reply via email to