This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: two possible bad asm generation bugs on cc1plus 2.96 20000731 (+some patches)
- To: Matt Wilson <msw at redhat dot com>
- Subject: Re: two possible bad asm generation bugs on cc1plus 2.96 20000731 (+some patches)
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Wed, 23 Aug 2000 12:59:22 -0400
- Cc: gcc-bugs at gcc dot gnu dot org
- References: <20000823112101.A13087@devserv.devel.redhat.com>
- Reply-To: Jakub Jelinek <jakub at redhat dot com>
On Wed, Aug 23, 2000 at 11:21:01AM -0400, Matt Wilson wrote:
> Sorry, don't have time to track this one down further at the moment.
> Looks like cstree.ii may actually be a binutils bug, I'm not sure.
>
> Breaks on our 20000731 build, also verified from CVS head:
>
> [root@gcc3 gcc]# ./cc1plus -version
> GNU C++ version 2.96 20000822 (experimental) (i386-redhat-linux) compiled by GNU C version 2.96 20000731 (experimental).
>
> Running our binutils-2.10.0.18-1 package.
>
> http://people.redhat.com/msw/cstree.ii
This one looks like ia32 backend bug, will track it down.
> http://people.redhat.com/msw/scan16.ii
For this one you have to fix up the asm statements:
gcc 2.96 uses assembler dialects (gas vs. Intel) in asm, so | character as
well as {} are special, particularly if you have
{gas_syntax|intel_syntax}x
it will result in gas_syntaxx or intel_syntaxx.
Likewise, if the {} braces are missing, it is meant the whole string, so in
your example where you had
"
jb 6f # x | y
6:
"
the only the jb 6f # x part is printed (the other one would be in intel
syntax).
Jakub