autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bugs encountered updating GCC


From: Daniel Jacobowitz
Subject: Re: Bugs encountered updating GCC
Date: Tue, 23 Sep 2003 16:56:54 -0400
User-agent: Mutt/1.5.1i

On Mon, Sep 15, 2003 at 10:42:16PM -0400, Daniel Jacobowitz wrote:
> On Fri, Sep 12, 2003 at 03:08:19PM -0700, Paul Eggert wrote:
> > Daniel Jacobowitz <address@hidden> writes:
> > 
> > > I think the easiest way for me to do this is simply to locally reset
> > > the warnings-are-errors flag for AC_PREPROC_IFELSE.  I don't suppose
> > > you're interested in making this an exported feature?
> > 
> > If by "exported feature" you mean "documented for Autoconf" then I'm
> > interested in it.  It's a bit esoteric, but if GCC ran into the
> > problem, other people might too.
> 
> Well, if I were going to document this feature, I'd do it like this.  I
> didn't bother to add the C++ version since I expect that to be less
> useful.
> 
> What do you think?

Any comments on this?  I need to settle on a solution to use in GCC
until an updated autoconf is available.

> 2003-09-15  Daniel Jacobowitz  <address@hidden>
> 
>       * doc/autoconf.texi (C Compiler Characteristics): Document
>       AC_PROG_CPP_WERROR.
>       * lib/autoconf/c.m4 (AC_PROG_CPP_WERROR): New macro.
>       (_AC_CHECK_HEADER_MONGREL): Don't warn about inconsistency if
>       the preprocessor is set to give errors for any warning.
> 
> Index: doc/autoconf.texi
> ===================================================================
> RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
> retrieving revision 1.757
> diff -u -p -r1.757 autoconf.texi
> --- doc/autoconf.texi 2 Sep 2003 19:13:59 -0000       1.757
> +++ doc/autoconf.texi 16 Sep 2003 02:36:34 -0000
> @@ -5297,7 +5297,17 @@ extension.
>  Some preprocessors don't indicate missing include files by the error
>  status.  For such preprocessors an internal variable is set that causes
>  other macros to check the standard error from the preprocessor and
> -consider the test failed if any warnings have been reported.
> +consider the test failed if any warnings have been reported.  Otherwise
> +warnings are permitted unless @code{AC_PROG_CPP_WERROR} is specified.
> address@hidden defmac
> +
> address@hidden AC_PROG_CPP_WERROR
> address@hidden
> address@hidden CPP
> +If this macro is used, warnings from the preprocessor will be treated
> +as errors even if the preprocessor reports errors correctly.  This is useful
> +for avoiding headers which generate mandatory warnings, such as deprecation
> +notices.
>  @end defmac
>  
>  
> Index: lib/autoconf/c.m4
> ===================================================================
> RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/c.m4,v
> retrieving revision 1.182
> diff -u -p -r1.182 c.m4
> --- lib/autoconf/c.m4 3 Sep 2003 00:35:52 -0000       1.182
> +++ lib/autoconf/c.m4 16 Sep 2003 02:36:34 -0000
> @@ -419,6 +419,12 @@ AC_SUBST(CPP)dnl
>  AC_LANG_POP(C)dnl
>  ])# AC_PROG_CPP
>  
> +# AC_PROG_CPP_WERROR
> +# ------------------
> +# Treat warnings from the preprocessor as errors.
> +AC_DEFUN([AC_PROG_CPP_WERROR],
> +[AC_REQUIRE([AC_PROG_CPP])dnl
> +ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
>  
>  # AC_LANG_COMPILER(C)
>  # -------------------
> Index: lib/autoconf/headers.m4
> ===================================================================
> RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/headers.m4,v
> retrieving revision 1.34
> diff -u -p -r1.34 headers.m4
> --- lib/autoconf/headers.m4   22 May 2003 15:17:06 -0000      1.34
> +++ lib/autoconf/headers.m4   16 Sep 2003 02:36:35 -0000
> @@ -121,13 +121,13 @@ AC_PREPROC_IFELSE([AC_LANG_SOURCE(address@hidden:@i
>  AC_MSG_RESULT([$ac_header_preproc])
>  
>  # So?  What about this header?
> -case $ac_header_compiler:$ac_header_preproc in
> -  yes:no )
> +case 
> $ac_header_compiler:$ac_header_preproc:$ac_[]_AC_LANG_ABBREV[]_preproc_warn_flag
>  in
> +  yes:no: )
>      AC_MSG_WARN([$1: accepted by the compiler, rejected by the 
> preprocessor!])
>      AC_MSG_WARN([$1: proceeding with the compiler's result])
>      ac_header_preproc=yes
>      ;;
> -  no:yes )
> +  no:yes:* )
>      AC_MSG_WARN([$1: present but cannot be compiled])
>      AC_MSG_WARN([$1:     check for missing prerequisite headers?])
>      AC_MSG_WARN([$1: see the Autoconf documentation])
> 
> 
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer




reply via email to

[Prev in Thread] Current Thread [Next in Thread]