This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc-3_1-branch regression for g++.old-deja/g++.jason/builtin2.C
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: <gcc at gcc dot gnu dot org>,<gcc-patches at gcc dot gnu dot org>
- Date: Wed, 03 Apr 2002 21:34:45 +0200
- Subject: Re: gcc-3_1-branch regression for g++.old-deja/g++.jason/builtin2.C
- References: <200204022222.52882@enzo.bigblue.local>
At 14:43 03.04.2002, Roger Sayle wrote:
>Hi Franz,
> > currently I see a regression on powerpc-linux-gnu for
> > g++.old-deja/g++.jason/builtin2.C if I run the g++ testsuite with -O2:
> >
> > Roger, cold this be related to your builtin work?
>
>Below is a patch to fix this problem. In the words of the GCC website,
>"no distinction is made between patches which are themselves buggy and
>patches whicho expose 'latent' bugs elsewhere in the compiler". The
>broken code probably grew bit-rotten whilst builtins were disabled in
>g++ and was resurected once my patch re-enabled them.
>
>The code in duplicate_decls contains a special case for handling the
>redeclaration of builtins as static function declarations. This is
>the part of duplicate_decls that I plagiarized for my SET_DECL_RTL
>fix for builtin inlining issues. Also present in this static
>redeclaration path were some other mysterious lines that frobbed with
>DECL_ASSEMBLER name, that I still don't understand. However regression
>testing showed that using these statements in the non-static case didn't
>help my tree inlining problems, so I didn't use them in my patch but
>assumed that they worked fine where they were.
>
>As soon as I read you e-mail discovering the issue, I had a prime suspect
>and "if it isn't broken, don't fix it" no longer applied. This makes the
>static path look very similar to the !types_match code I added to the
>code a few lines earlier.
>
>The following patch has been tested on i686-pc-linux-gnu with "make
>bootstrap" and "make -k check" with no new regressions. It also fixes
>the compilation "-O2 -S" of g++.old-deja/g++.jason/builtin2.C on this
>platform. Could you test whether it also works on powerpc-linux-gnu?
Yes, works on powerpc-linux-gnu.
Franz.