bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with Sun Studio 12 C++


From: Eric Blake
Subject: Re: Problem with Sun Studio 12 C++
Date: Wed, 28 Jan 2009 17:00:57 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Rolf Vandevaart <Rolf.Vandevaart <at> Sun.COM> writes:

> However, as of Sun Studio 12, the C compiler also supports __restrict__. 
>   Therefore, we need to update the workaround to handle this additional 
> possible value.  Here is my suggestion.
> 
> #undef restrict
> /* Work around a bug in Sun C++: it does not support _Restrict or
>     __restrict__, even though the corresponding Sun C compiler
>      does, which causes "#define restrict _Restrict" or "#define
>      restrict __restrict__" in the previous line.  Perhaps some
>     future version of Sun C++ will work with restrict; if so,
>     it'll probably define __RESTRICT, just as Sun C does.  */
> #if defined __SUNPRO_CC && !defined __RESTRICT
> # define _Restrict
> # define __restrict__
> #endif])

Thanks for the report.  I agree that this makes sense; here's the patch that I 
applied which does what you suggested:


From: Eric Blake <address@hidden>
Date: Wed, 28 Jan 2009 09:57:08 -0700
Subject: [PATCH] Fix AC_C_RESTRICT for Sun Studio 12 C++.

* lib/autoconf/c.m4 (AC_C_RESTRICT): Newer Sun Studio C provides
__restrict__ rather than _Restrict, which still trips up Sun
Studio 12 C++.
* THANKS: Update.
Reported by Rolf Vandevaart.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog         |    9 +++++++++
 THANKS            |    1 +
 lib/autoconf/c.m4 |   15 ++++++++-------
 3 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2885f27..44e147c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2009-01-28  Eric Blake  <address@hidden>
 
+       Fix AC_C_RESTRICT for Sun Studio 12 C++.
+       * lib/autoconf/c.m4 (AC_C_RESTRICT): Newer Sun Studio C provides
+       __restrict__ rather than _Restrict, which still trips up Sun
+       Studio 12 C++.
+       * THANKS: Update.
+       Reported by Rolf Vandevaart.
+
+2009-01-28  Eric Blake  <address@hidden>
+
        Fix years in copyright notices.
        * lib/m4sugar/m4sugar.m4 (m4_copyright_condense): New macro,
        undocumented for now.
diff --git a/THANKS b/THANKS
index 54310b5..74895cf 100644
--- a/THANKS
+++ b/THANKS
diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
index beaf0b1..3fa9c04 100644
--- a/lib/autoconf/c.m4
+++ b/lib/autoconf/c.m4
@@ -1,7 +1,7 @@
 # This file is part of Autoconf.                       -*- Autoconf -*-
 # Programming languages support.
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free
-# Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -1604,13 +1604,14 @@ 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, even
-   though the corresponding Sun C compiler does, which causes
-   "#define restrict _Restrict" in the previous line.  Perhaps some future
-   version of Sun C++ will work with _Restrict; if so, it'll probably
-   define __RESTRICT, just as Sun C does.  */
+/* 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
 # define _Restrict
+# define __restrict__
 #endif])
  case $ac_cv_c_restrict in
    restrict) ;;
-- 
1.6.0.4







reply via email to

[Prev in Thread] Current Thread [Next in Thread]