On Thu, Jun 23, 2005 at 09:37:00PM +0100, Zefram wrote: > t.s: Assembler messages: > t.s:55: Error: non-constant expression in ".if" statement > $ > > The expression in the .if is most definitely constant
Agreed. However, gas can't immediately evaluate it because of the way gas frags work. The problem is that your start label is in a different frag from the end label, most likely because code emitted prior to the macro invocation, plus the space needed by the ascii string exceeded the max frag size. Incidentally, I don't see how the code you posted could cause this to happen since the .p2align ought to cause a new frag to be started, but I do know that this sort of problem can happen. A workaround is to align at the start of your macro. See also http://sources.redhat.com/bugzilla/show_bug.cgi?id=997 -- Alan Modra IBM OzLabs - Linux Technology Centre _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils