[gnu.gcc.bug] -finline-functions with asm

brad%cayman@HARVARD.HARVARD.EDU (Brad Parker) (12/21/88)

This is not really a bug, but I'd be interested in any comments.

I'm using -finline-functions to compile a module which has a bunch asm()
statementing in it. One of the asm's has a label for a loop. When the
compiler duplicates the code with the label (it's called several times and
"inline-functions" does it's job), the label is duplicated and causes the
assembler pass to fail.

What I'm doing is not necessarily "good" or even "correct" in the absolute
sense, but if I could generate a compiler label instead of the "absolute"
label I'm using, the problem would go away.

Any ideas?

He'res an example (untested, just the concept)

func1()
{
asm("		movew	#3, d0");
asm("label:	nop");
asm("		dbf	d0,label");
}

func2()
{
	func1();	<--- code inserted twice, label is duplicated
	func1();
}