1) Compile issue: After some searching I found the 12.4 manual. The new version of the compiler is 5.13 and it defaults to the c11 standard. Here is an excerpt of the document (http://docs.oracle.com/cd/E37069_01/html/E37074/bjapp.html#scrolltoc). The previous default was -Xa. ----- B.2.78 -X[c|a|t|s]
(Obsolete) The -Xs option will be removed in a future release. It is recommended that C code that requires -Xs to build and compile correctly be migrated to conform with at least the C99 dialect of the ISO C standard, that is, compilable with -std=c99. The -Xc, -Xa, -Xt, and -Xs flags cannot be used if the -std or -xlang flag has been specified. When not using the -std flag, the -X (note uppercase X) options specify varying degrees of compliance to the 1990 and 1999 ISO C standard. The value of -xc99 affects which version of the ISO C standard the -X option applies. The -xc99 option defaults to -xc99=all which supports the 1999 ISO/IEC C standard. -xc99=none supports the 1990 ISO/IEC C standard. See D.1 for a discussion of supported 1999 ISO/IEC features. See Appendix H for a discussion of differences between ISO/IEC C and K&R C. The default mode of the compiler is -std=c11 without the -pedantic flag. If the -xc99 flag has been specified or is in effect, then -Xa is the default mode of the compiler . -Xc (c = conformance) Issues errors and warnings for programs that use non-ISO C constructs. This option is strictly conformant ISO C without K&R C compatibility extensions. The predefined macro __STDC__ has a value of 1 with the-Xc option. -Xa ISO C plus K&R C compatibility extensions with semantic changes required by ISO C. Where K&R C and ISO C specify different semantics for the same construct, the compiler uses the ISO C interpretation. If the -Xa option is used in conjunction with the -xtransition option, the compiler issues warnings about the different semantics. The predefined macro __STDC__has a value of -0 with the-Xa option. -Xt (t = transition) This option uses ISO C plus K&R C compatibility extensions without semantic changes required by ISO C. Where K&R C and ISO C specify different semantics for the same construct, the compiler uses the K&R C interpretation. If you use the -Xt option in conjunction with the -xtransition option, the compiler issues warnings about the different semantics. The predefined macro __STDC__ has a value of 0 with the -Xt option. -Xs (s = K&R C) Attempts to warn about all language constructs that have differing behavior between ISO C and K&R C. The compiler language includes all features compatible with K&R C. This option invokes cpp for preprocessing. __STDC__ is not defined in this mode. ----- 2) Failed tests: Maybe my system is misconfigured. For the French locale I get "no traditional French locale is installed." If I find a way to fix it I'll let you know. Thanks for the prompt reply. Next time I'll try to do a better job of searching the archives. David Mulcihy -----Original Message----- From: Daiki Ueno [mailto:u...@gnu.org] Sent: Monday, May 23, 2016 10:22 PM To: Mulcihy, David D. (JSC-OD)[THE BOEING COMPANY] <david.d.mulc...@nasa.gov> Cc: bug-gettext@gnu.org Subject: Re: [bug-gettext] Failed Tests "Mulcihy, David D. (JSC-OD)[THE BOEING COMPANY]" <david.d.mulc...@nasa.gov> writes: Thanks for the report. > 1) Compile time issue with SunStudio 12.4 compiler. Apparently it is > more pendantic the gcc. > The redeclared function is libintl_gettext_germanic_plural. Line 71 in > plural-exp.c has it as struct, Line 111 in plural-exp.h has it as const > struct. This is the same issue as: https://savannah.gnu.org/support/?108743 where I suggested to use CFLAGS="-xc99=all,lib -Xc" as a work around. However, it seems that the C compiler of SunStudio 12.4 actually supports the needed C99 feature (struct/union initialiazers) by default. Perhaps it might make sense to enable it like the attached patch. > 2) 3 Failed tests > FAIL: test-mbrtowc3.sh > FAIL: test-mbrtowc4.sh > FAIL: test-mbsrtowcs4.sh I suppose those are: https://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00012.html where the problem is caused by missing locale packages. Regards, -- Daiki Ueno