preproc: %clear options, backwards compatibility hack for x264
preproc: %clear options, backwards compatibility hack for x264

The handling of empty arguments in NASM 2.14 and below was at best
"interesting"; a single whitespace token expansion, which can happen
during macro expansion, would sometimes be counted as an argument and
sometimes not.

One really weird effect of this was that %0 doesn't always match the
permitted range in the macro specification!

Add some backwards compatibility code to make x264/ffmpeg compile.

Add override via:

    %pragma preproc sane_empty_expansion true

Add support for %clear to clear specific subsets of the macro
definitions. In particular:

    %clear defalias

... can be used to wipe the __FOO__ backwards macro compatibility
aliases which may interfere with the C namespace.

Signed-off-by: H. Peter Anvin (Intel) <8a453bad9912ffe59bc0f0b8abe03df9be19379e@zytor.com>

techkey/nasm,techkey/nasm,techkey/nasm,techkey/nasm,techkey/nasm