
``-Wcondition-order``
    Warn if the generated program makes implicit assumptions about condition
    numbering. One should use either ``--header`` option or ``conditions``
    block to generate a mapping of condition names to numbers and then use the
    autogenerated condition names.

``-Wempty-character-class``
    Warn if a regular expression contains an empty character class. Trying to
    match an empty character class makes no sense: it should always fail.
    However, for backwards compatibility reasons |re2c| permits empty character
    classes and treats them as empty strings. Use the ``--empty-class`` option
    to change the default behavior.

``-Wmatch-empty-string``
    Warn if a rule is nullable (matches an empty string).
    If the lexer runs in a loop and the empty match is unintentional, the lexer
    may unexpectedly hang in an infinite loop.

``-Wswapped-range``
    Warn if the lower bound of a range is greater than its upper bound. The
    default behavior is to silently swap the range bounds.

``-Wundefined-control-flow``
    Warn if some input strings cause undefined control flow in the lexer (the
    faulty patterns are reported). This is a dangerous and common mistake. It
    can be easily fixed by adding the default rule ``*`` which has the lowest
    priority, matches any code unit, and always consumes a single code unit.

``-Wunreachable-rules``
    Warn about rules that are shadowed by other rules and will never match.

``-Wdeprecated-eof_rule``
    Warn about standalone end of input rules ``$`` that will be broken by the
    future changes and require fixing. At the moment these rules take precedence
    when conflicting with other rules, but after the introduction of generalized
    end of input symbol ``$`` precedence order will change and these rules will
    become shadowed by other rules.

``-Wuseless-escape``
    Warn if a symbol is escaped when it shouldn't be.
    By default, |re2c| silently ignores such escapes, but this may as well
    indicate a typo or an error in the escape sequence.

``-Wnondeterministic-tags``
    Warn if a tag has ``n``-th degree of nondeterminism, where ``n`` is greater
    than 1.

``-Wsentinel-in-midrule``
    Warn if the sentinel symbol occurs in the middle of a rule --- this may
    cause reads past the end of buffer, crashes or memory corruption in the
    generated lexer. This warning is only applicable if the sentinel method of
    checking for the end of input is used.
    It is set to an error if ``re2c:sentinel`` configuration is used.

``-Wundefined-syntax-config``
    Warn if the syntax file specified with ``--syntax`` option is missing
    definitions of some configurations. This helps to maintain user-defined
    syntax files: if a new release adds configurations, old syntax file will
    raise a warning, and the user will be notified. If some configurations are
    unused and do not need a definition, they should be explicitly set to
    ``<undefined>``.