diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2018-04-06 16:41:01 +0200 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2018-04-06 16:59:24 +0200 |
| commit | e8408a06c68d87485a9d45817dfdd60e722a6f1c (patch) | |
| tree | 08ef606faa6f8aacb30e0a5e6212d5952cffb76e /makefile.patch | |
| parent | 981d24aff765794f4ab440f29b1543a118222357 (diff) | |
Move sanity checking to after _finalize_tree()
Previously, the warnings
warning: FOO (defined at Kconfig:1, Kconfig:6) defined with type unknown
warning: the default selection BAR (defined at Kconfig:9) of FOO (defined at Kconfig:1, Kconfig:6) is not contained in the choice
were printed for this (obscure, but okay) pair of definitions:
choice FOO
default BAR
endchoice
choice FOO
prompt "foo"
config BAR
bool "bar"
endchoice
The problem is that BAR is not known to be a choice symbol by the time
the first choice definition is encountered in _finalize_tree(), since
that's determined only when the second definition is encountered (it
needs to happen there, because implicit submenus can influence whether a
symbol is a choice symbol or not, and implicit submenus are determined
in _finalize_tree()).
Fix it by moving the sanity checks out of _finalize_tree() and into a
separate pass over all symbols and choices that runs after
_finalize_tree(). That might avoid other gotchas too.
Diffstat (limited to 'makefile.patch')
0 files changed, 0 insertions, 0 deletions
