[Top][All Lists]
[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