This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: two possible bad asm generation bugs on cc1plus 2.96 20000731 (+some patches)


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]