• Ariel Marcovitch's avatar
    checkkconfigsymbols.py: Remove skipping of help lines in parse_kconfig_file · aa0f5ea1
    Ariel Marcovitch authored
    When parsing Kconfig files to find symbol definitions and references,
    lines after a 'help' line are skipped until a new config definition
    starts.
    
    However, Kconfig statements can actually be after a help section, as
    long as these have shallower indentation. These are skipped by the
    parser.
    
    This means that symbols referenced in this kind of statements are
    ignored by this function and thus are not considered undefined
    references in case the symbol is not defined.
    
    Remove the 'skip' logic entirely, as it is not needed if we just use the
    STMT regex to find the end of help lines.
    
    However, this means that keywords that appear as part of the help
    message (i.e. with the same indentation as the help lines) it will be
    considered as a reference/definition. This can happen now as well, but
    only with REGEX_KCONFIG_DEF lines. Also, the keyword must have a SYMBOL
    after it, which probably means that someone referenced a config in the
    help so it seems like a bonus :)
    
    The real solution is to keep track of the indentation when a the first
    help line in encountered and then handle DEF and STMT lines only if the
    indentation is shallower.
    Signed-off-by: default avatarAriel Marcovitch <arielmarcovitch@gmail.com>
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    aa0f5ea1
checkkconfigsymbols.py 15.4 KB