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

From: Pádraig Brady <[email-masked]>
Date: Thu, 3 Dec 2015 19:30:10 +0000

On 03/12/15 18:58, Rich Burridge wrote:
> 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"

which statement isn't reached?
I presume it's a false positive from the compiler?
-errwarn was added to support AIX:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20733#112
I'm worried that we may break that.
Would it still work for you to add in addition? I.E.

+gl_WARN_ADD([-errwarn=no%E_STATEMENT_NOT_REACHED], [CFLAGS])

in addition to the existing -errwarn?

cheers,
Pádraig