Re: [PATCH] kconfig: Warn if choice default is not in choice
From: Masahiro Yamada
Date: Thu Dec 07 2017 - 09:51:23 EST
2017-10-04 8:25 GMT+09:00 Ulf Magnusson <ulfalizer@xxxxxxxxx>:
> This will catch mistakes like in the following real-world example, where
> a "CONFIG_" prefix snuck in, making an undefined symbol the default:
>
> choice
> prompt "Compiler optimization level"
> default CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
>
> config CC_OPTIMIZE_FOR_PERFORMANCE
> ...
>
> config CC_OPTIMIZE_FOR_SIZE
> ...
>
> endchoice
>
> This now prints the following warning:
>
> init/Kconfig:1036:warning: choice default symbol 'CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE' is not contained in the choice
>
> Cases where the default symbol belongs to the wrong choice are also
> detected.
>
> (The mistake is harmless here: Since the default symbol is not visible,
> the choice falls back on using the first visible symbol as the default,
> which is CC_OPTIMIZE_FOR_PERFORMANCE, as intended.)
>
> Discovered while playing around with Kconfiglib
> (https://github.com/ulfalizer/Kconfiglib).
>
> Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx>
> ---
Applied to linux-kbuild/kconfig.
Thanks!
--
Best Regards
Masahiro Yamada