This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][C++] Fix PR29323, wrong-code with weak functions and exceptions
On Mon, 16 Oct 2006, Kaveh R. GHAZI wrote:
> On Mon, 9 Oct 2006, Mark Mitchell wrote:
>
> > Richard Guenther wrote:
> >
> > > 2006-10-09 Richard Guenther <rguenther@suse.de>
> > >
> > > PR rtl-optimization/29323
> > > * except.c (set_nothrow_function_flags): For functions
> > > that do not bind local bail out early.
> > >
> > > * decl.c (finish_function): Set TREE_NOTHROW only for
> > > functions that bind local.
>
> I'm getting an error using cc for stage1, which I believe is due to this
> patch:
>
> cc -c -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC
> -DHAVE_CONFIG_H -I. -I. -I../../egcc-4.1-SVN20061015/gcc
> -I../../egcc-4.1-SVN20061015/gcc/.
> -I../../egcc-4.1-SVN20061015/gcc/../include -I./../intl
> -I../../egcc-4.1-SVN20061015/gcc/../libcpp/include
> -I/caip/u12/kishgcc/gcc-testing/new/_gmp/include
> ../../egcc-4.1-SVN20061015/gcc/except.c -o except.o
> "../../egcc-4.1-SVN20061015/gcc/except.c", line 2705: void function cannot return value
> cc: acomp failed for ../../egcc-4.1-SVN20061015/gcc/except.c
> make[2]: *** [except.o] Error 2
> make[2]: *** Waiting for unfinished jobs....
>
> This occurs because the return type of set_nothrow_function_flags is void
> on the branches, wheres it's unsigned int on mainline. I suspect using
> gcc for stage 1, and all later stages issue some type of warning, but on
> branches we don't use -Werror so it won't hard error.
Doh, right. I'll fix this up in a sec.
Thanks for noticing,
Richard.
--
Richard Guenther <rguenther@suse.de>
Novell / SUSE Labs