|
From: Cyrill G. <gor...@gm...> - 2010-10-01 17:45:42
|
On Fri, Oct 01, 2010 at 10:24:34AM -0700, H. Peter Anvin wrote:
> On 10/01/2010 10:23 AM, Cyrill Gorcunov wrote:
> >>
> >> NASM 0.98 only supported implicit concatenation (mmac), with
> >> three simple rules:
> >>
> >> - TOK_WHITE + TOK_WHITE
> >> - TOK_ID + {TOK_ID,TOK_NUMBER}
> >> - TOK_NUMBER + TOK_NUMBER
> >>
> >
> > Can't say about .98 _but_ 0.98.39 has
> >
> > expand_mmac_params (same as you just pointed)
> > [TOK_ID] + [(TOK_ID|TOK_NUMBER)]
> > [TOK_NUMBER] + [TOK_NUMBER]
> >
> > Multiple TOK_WHITESPACE simply folded into one entity
> >
> > expand_smacro
> > [(TOK_ID|TOK_PREPROC_ID)] + [(TOK_ID|TOK_PREPROC_ID|TOK_NUMBER)]
> >
> > As you may see it supports implicit concats in both ways: mmacs and smacs.
> >
>
> Yes, 0.98.03 introduced %+ and I'm sure there were other changes in the
> 0.98 series. Ultimately the whole problem is that then entire thing
> looks reasonable, but is in fact wrong in a number of cases.
>
> -hpa
>
ok, i'll try to figure out those corner cases but a bit later (in a couple
of days), too much to do in other area atm.
Cyrill
|