changeset 7568:cc1b5341518c

Avoid compilation errors with some C++ compilers.
author Bruno Haible <bruno@clisp.org>
date Wed, 25 Oct 2006 16:14:34 +0000
parents fb40dc57bc11
children 8a5e15ab4f03
files ChangeLog lib/gettext.h
diffstat 2 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-25  Bruno Haible  <bruno@clisp.org>
+
+	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
+	false for PGI C++ and Sun C++ compilers.
+	Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
+
 2006-10-24  Bruno Haible  <bruno@clisp.org>
 
 	* lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
--- a/lib/gettext.h
+++ b/lib/gettext.h
@@ -163,8 +163,12 @@
 
 #include <string.h>
 
+/* GCC supports variable-size arrays in C and C++ mode.
+   ISO C++ supports variable-size arrays, but some older PGI and Sun compilers
+   don't.  */
 #define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
-  (__GNUC__ >= 3 || defined __cplusplus)
+  (__GNUC__ >= 3 \
+   || (defined __cplusplus && !(defined __PGI || defined __SUNPRO_CC)))
 
 #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
 #include <stdlib.h>