Menu

#42 Changes in %error and %include

open
1
2004-02-13
2003-08-24
No

I've changed behaviour of %error and %include. Now
these directives don't expands string content (odd
'feature'). Now they expand their arguments in common
way. If string token is first its value will be displayed
without quarters:
%error "mess:" "str" ; warning: mess: "str"

Also I've added support of error-level modifiers:

%error "message" ; warning: message
%error .warning "message" ; warning: message
%error .nonfatal "message" ; error: message
%error .fatal "message" ; fatal: message

Discussion

  • nasm64developer

    nasm64developer - 2004-02-13
    • priority: 5 --> 1
     
  • nasm64developer

    nasm64developer - 2004-02-13

    Logged In: YES
    user_id=804543

    In my local forked version %INCLUDE expands its
    argument and then looks for a string.

    Adding a .warning/.nonfatal/.fatal qualifier to
    the %ERROR directive is not a good idea, since
    those are valid identifiers, which the user may
    expect to expand. In my local forked version I'm
    using %EMIT.<type> directives, where <type> can
    be FATAL, ERROR, WARN, or INFO. In addition each
    of them can end in 1 or 2, to limit emission to
    pass 1 or pass 2.

    After performing expansion, my %EMIT.* directives
    check whether the first argument is a string. If
    so, then they will unquote that string, and cause
    a warning if there is trailing garbage.

     

Log in to post a comment.