preproc.c: Context-through single macros expansion is deprecated
commitd90693c79c6bef983063f291c286757dd084dd3e
authorCyrill Gorcunov <gorcunov@gmail.com>
Wed, 11 Aug 2010 16:31:46 +0000 (11 20:31 +0400)
committerCyrill Gorcunov <gorcunov@gmail.com>
Wed, 11 Aug 2010 16:31:46 +0000 (11 20:31 +0400)
tree255f1393291b032c34bd24424d6233af3b41bbd9
parent404589e55829c3d9cfd6411ae8f536033e561e80
preproc.c: Context-through single macros expansion is deprecated

For now we inform users about their sources need to be
updated and also since _all_ context case are legit
for single macros only we split lookup into two phases:

1) Lookup in active context, which is perfectly valid
2) Lookup in external contexts, which will be deprecated soon.

If (2) happens we yield warning.

A typical testcase is
---
  %macro one 0
  %push
    %$a:
    %assign %$b 12
      %push
        mov eax, %$a
        mov eax, %$b  ; hit -- context through
      %pop
    %pop
  %endmacro
  one
---

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
preproc.c