summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2024-03-10 14:45:15 +0100
committerMasahiro Yamada <masahiroy@kernel.org>2024-03-18 18:30:51 +0100
commit4957515b9c3aa3d32a1ee44ab77f0a44f29263dc (patch)
treed2d04026aae26fe5d7918b0bbc39fc9aca350925 /scripts
parentkconfig: lxdialog: remove unused dialog colors (diff)
downloadlinux-4957515b9c3aa3d32a1ee44ab77f0a44f29263dc.tar.xz
linux-4957515b9c3aa3d32a1ee44ab77f0a44f29263dc.zip
kconfig: check prompt for choice while parsing
This can be checked on-the-fly. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/menu.c3
-rw-r--r--scripts/kconfig/parser.y6
2 files changed, 6 insertions, 3 deletions
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index 840ce642ec43..8498481e6afe 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -561,9 +561,6 @@ void menu_finalize(struct menu *parent)
if (sym->type == S_UNKNOWN)
menu_warn(parent, "config symbol defined without type");
- if (sym_is_choice(sym) && !parent->prompt)
- menu_warn(parent, "choice must have a prompt");
-
/* Check properties connected to this symbol */
sym_check_prop(sym);
sym->flags |= SYMBOL_WARNED;
diff --git a/scripts/kconfig/parser.y b/scripts/kconfig/parser.y
index 22f616334585..b45bfaf0a02b 100644
--- a/scripts/kconfig/parser.y
+++ b/scripts/kconfig/parser.y
@@ -233,6 +233,12 @@ choice: T_CHOICE T_EOL
choice_entry: choice choice_option_list
{
+ if (!current_entry->prompt) {
+ fprintf(stderr, "%s:%d: error: choice must have a prompt\n",
+ current_entry->filename, current_entry->lineno);
+ yynerrs++;
+ }
+
$$ = menu_add_menu();
};