#include "plural-exp.h"
-#if (defined __GNUC__ && !(defined __APPLE_CC_ && __APPLE_CC__ > 1) \
- && !defined __cplusplus) \
- || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
+#if HAVE_STRUCT_INITIALIZER
/* These structs are the constant expression for the germanic plural
form determination. It represents the expression "n != 1". */
# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression
#endif
+#if (defined __GNUC__ && !(defined __APPLE_CC_ && __APPLE_CC__ > 1) \
+ && !defined __cplusplus) \
+ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) \
+ || (defined __SUNPRO_C && 0x560 <= __SUNPRO_C \
+ && !(defined __STDC__ && __STDC__ == 1))
+# define HAVE_STRUCT_INITIALIZER 1
+#else
+# define HAVE_STRUCT_INITIALIZER 0
+#endif
+
extern void FREE_EXPRESSION (struct expression *exp)
internal_function;
extern int PLURAL_PARSE (struct parse_args *arg);
+#if HAVE_STRUCT_INITIALIZER
extern const struct expression GERMANIC_PLURAL attribute_hidden;
+#else
+extern struct expression GERMANIC_PLURAL attribute_hidden;
+#endif
extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,
const struct expression **pluralp,
unsigned long int *npluralsp)