[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