[mpich-devel] Fwd: [mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1-22-gde80ec8

Dave Goodell (dgoodell) dgoodell at cisco.com
Thu Feb 27 13:32:51 CST 2014


I saw this fly by and a bug caught the corner of my eye (see inline)

Begin forwarded message:

> From: Service Account <noreply at mpich.org>
> Subject: [mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1-22-gde80ec8
> Date: February 27, 2014 11:27:24 AM PST
> To: <all-commits at mpich.org>, <commits at mpich.org>
> Reply-To: <commits at mpich.org>
> 
> This is an automated email from the git hooks/post-receive script. It was
> generated because a ref change was pushed to the repository containing
> the project "MPICH primary repository".
> 
> The branch, master has been updated
>       via  de80ec8704071f3b9c810509fb8acee345865902 (commit)
>      from  956047a2696bdfb51d66f56d0b226df8d40ebd80 (commit)
> 
> Those revisions listed above that are new to this repository have
> not appeared on any other notification email; so we list those
> revisions in full, below.
> 
> - Log -----------------------------------------------------------------
> http://git.mpich.org/mpich.git/commitdiff/de80ec8704071f3b9c810509fb8acee345865902
> 
> commit de80ec8704071f3b9c810509fb8acee345865902
> Author: Pavan Balaji <balaji at mcs.anl.gov>
> Date:   Wed Feb 26 11:49:46 2014 -0600
> 
>    Better checks for VA_ARGS.
> 
>    We were disabling VA_ARGS whenever the compiler throws warnings.
>    However, in some cases, the compiler is throwing warnings in general
>    (because of bad user-specified flags) and not specifically because of
>    VA_ARGS.  See discussion on the discuss at mpich.org mailing list:
>    http://lists.mpich.org/pipermail/discuss/2014-February/002246.html
> 
>    This patch works around this issue by checking the difference in the
>    warning flags with and without VA_ARGS.
> 
>    Fixes #2047.
> 
>    Signed-off-by: Huiwei Lu <huiweilu at mcs.anl.gov>
> 
> diff --git a/confdb/aclocal_cc.m4 b/confdb/aclocal_cc.m4
> index f73aa4c..2612e94 100644
> --- a/confdb/aclocal_cc.m4
> +++ b/confdb/aclocal_cc.m4
> @@ -1644,22 +1644,35 @@ AC_DEFUN([PAC_C_MACRO_VA_ARGS],[
>     AC_MSG_CHECKING([for variable argument list macro functionality])
> 
>     # check if the program links correctly
> -    rm -f pac_test.log
> -    PAC_LINK_IFELSE_LOG([pac_test.log],[AC_LANG_PROGRAM([
> +    rm -f pac_test1.log pac_test2.log
> +
> +    PAC_LINK_IFELSE_LOG([pac_test1.log],[AC_LANG_PROGRAM([
>         #include <stdio.h>
>         #define conftest_va_arg_macro(...) printf(__VA_ARGS__)
>     ],
>     [conftest_va_arg_macro("a test %d", 3);])],
>     prog_links=yes,prog_links=no)
> 
> +    PAC_LINK_IFELSE_LOG([pac_test2.log],[AC_LANG_PROGRAM([
> +        #include <stdio.h>
> +        #define conftest_va_arg_macro printf
> +    ],
> +    [conftest_va_arg_macro("a test %d", 3);])])
> +
>     # If the program linked OK, make sure there were no warnings
> -    if test "$prog_links" = "yes" -a "`cat pac_test.log`" = "" ; then
> +    if test "$prog_links" = "yes" -a "`diff pac_test1.log pac_test2.log`" = "" ; then
>        AC_DEFINE([HAVE_MACRO_VA_ARGS],[1],[Define if C99-style variable argument list macro functionality])
>        AC_MSG_RESULT([yes])
> +    elif "`diff pac_test1.log pac_test2.log`" = "" ; then

This is bad shell code.  You probably want "elif test" instead.

-Dave

> +       AC_MSG_RESULT([no, compiler generates warnings])
> +       echo "With VA_ARGS:"
> +       cat pac_test1.log
> +       echo "Without VA_ARGS:"
> +       cat pac_test2.log
>     else
>        AC_MSG_RESULT([no])
>     fi
> -    rm -f pac_test.log
> +    rm -f pac_test1.log pac_test2.log
> ])dnl
> 
> # Will AC_DEFINE([HAVE_BUILTIN_EXPECT]) if the compiler supports __builtin_expect.
> 
> -----------------------------------------------------------------------
> 
> Summary of changes:
> confdb/aclocal_cc.m4 |   21 +++++++++++++++++----
> 1 files changed, 17 insertions(+), 4 deletions(-)
> 
> 
> hooks/post-receive
> -- 
> MPICH primary repository



More information about the devel mailing list