Subject: Problem with stdbuf configure test for 8.24 on Solaris with Studio C compiler.

From: Rich Burridge <[email-masked]>
Date: Thu, 3 Dec 2015 10:58:26 -0800

Hi,

I'm finally getting around to integrating coreutils version 8.24
into Solaris 12 (and being built with the Studio C compiler rather
than gcc) and noticed that the test for whether we had stdbuf was
failing.

I've fixed it with the following patch. Looks like gcc just doesn't
trip over this, but hopefully the suggested change "just works" for
both compilers.

Thanks.

$ cat configure.ac.patch
The configure test for "whether this is system supports stdbuf" was
failing because the warning:

"conftest.c", line 731: warning: statement not reached

was being turned into an error with the Studio C compiler (ignored
with the GNU C compiler).

We want to adjust the -errwarn option so that it ignores
E_STATEMENT_NOT_REACHED errors.

--- configure.ac.orig   2015-12-03 09:46:42.381111611 -0800
+++ configure.ac        2015-12-03 10:27:48.938546667 -0800
@@ -459,7 +459,7 @@
  ac_save_LDFLAGS=$LDFLAGS
  # Detect warnings about ignored "constructor" attributes.
  gl_WARN_ADD([-Werror], [CFLAGS])
-gl_WARN_ADD([-errwarn], [CFLAGS])
+gl_WARN_ADD([-errwarn=no%E_STATEMENT_NOT_REACHED], [CFLAGS])
  # Put this message here, after gl_WARN_ADD's chatter.
  AC_MSG_CHECKING([whether this system supports stdbuf])
  CFLAGS="-fPIC $CFLAGS"