| Detect warning options during configure |
| |
| Certain options maybe compiler specific therefore its better |
| to detect them before use. |
| |
| nfs_error copies the format string and appends newline to it |
| but compiler can forget that it was format string since its not |
| same fmt string that was passed. Ignore the warning |
| |
| Wdiscarded-qualifiers is gcc specific and this is no longer needed |
| |
| Upstream-Status: Pending |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -599,7 +599,6 @@ my_am_cflags="\ |
| -Werror=parentheses \ |
| -Werror=aggregate-return \ |
| -Werror=unused-result \ |
| - -Wno-cast-function-type \ |
| -fno-strict-aliasing \ |
| " |
| |
| @@ -619,9 +618,10 @@ CHECK_CCSUPPORT([-Werror=format-overflow |
| CHECK_CCSUPPORT([-Werror=int-conversion], [flg2]) |
| CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3]) |
| CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4]) |
| +CHECK_CCSUPPORT([-Wno-cast-function-type], [flg5]) |
| AX_GCC_FUNC_ATTRIBUTE([format]) |
| |
| -AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"]) |
| +AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4 $flg5"]) |
| |
| # Make sure that $ACLOCAL_FLAGS are used during a rebuild |
| AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"]) |
| --- a/support/nfs/xcommon.c |
| +++ b/support/nfs/xcommon.c |
| @@ -98,7 +98,10 @@ nfs_error (const char *fmt, ...) { |
| |
| fmt2 = xstrconcat2 (fmt, "\n"); |
| va_start (args, fmt); |
| +#pragma GCC diagnostic push |
| +#pragma GCC diagnostic ignored "-Wformat-nonliteral" |
| vfprintf (stderr, fmt2, args); |
| +#pragma GCC diagnostic pop |
| va_end (args); |
| free (fmt2); |
| } |
| --- a/utils/mount/stropts.c |
| +++ b/utils/mount/stropts.c |
| @@ -1094,9 +1094,7 @@ static int nfsmount_fg(struct nfsmount_i |
| if (nfs_try_mount(mi)) |
| return EX_SUCCESS; |
| |
| -#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" |
| if (errno == EBUSY && is_mountpoint(mi->node)) { |
| -#pragma GCC diagnostic warning "-Wdiscarded-qualifiers" |
| /* |
| * EBUSY can happen when mounting a filesystem that |
| * is already mounted or when the context= are |