>From 876946f8d98e3da24a3f6a8a5262419225dad4c8 Mon Sep 17 00:00:00 2001 From: Paul Eggert 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 + + 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 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