On 07/03/2015 10:59, Paul Bolle wrote: > On vr, 2015-07-03 at 09:33 +0200, Andreas Ruprecht wrote: >> I tested the behaviour on yesterday's linux-next, but the commit >> mentioned above will only complain for invalid characters inside the >> PARAM case and not for COMMANDs. So, as an example, if you write >> something like >> >> config ACPI_REV_OVERRIDE_POSSIBLE >> depends on X86 + >> [...] >> >> Kconfig will complain about the '+'. This, however, does not apply for >> top-level statements like 'config', 'menuconfig', and so on. > > Which might explain why this silly mistake went unnoticed. (And, as I > think you implied, it doesn't help that the empty rule we're hitting > here is not commented.) > > So the naive solution seems to be to also add the warning to COMMAND's > rule for '.'. A quick test suggest that would work. Am I missing some > obvious downside with that solution? Well, as I mentioned earlier, with a patch similar to the one below this warning is also generated three times for every '---' before 'help'. This results in a giant pile of warnings: ruprecht@box:linux-next$ rm -f scripts/kconfig/*_shipped && REGENERATE_PARSERS=1 make allyesconfig 2>&1 | wc -l 7419 The output looks like this: scripts/kconfig/conf --allyesconfig Kconfig arch/x86/Kconfig:4:warning: ignoring unsupported character '-' arch/x86/Kconfig:4:warning: ignoring unsupported character '-' arch/x86/Kconfig:4:warning: ignoring unsupported character '-' init/Kconfig:222:warning: ignoring unsupported character '-' init/Kconfig:222:warning: ignoring unsupported character '-' init/Kconfig:222:warning: ignoring unsupported character '-' init/Kconfig:244:warning: ignoring unsupported character '-' init/Kconfig:244:warning: ignoring unsupported character '-' init/Kconfig:244:warning: ignoring unsupported character '-' [...] So we would need to add special treatment for '-' also in the command case, right? But that doesn't look appealing to me, more like a dirty, dirty hack around the actual problem... Regards, Andreas
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l index 200a3fe..642f5b2 100644 --- a/scripts/kconfig/zconf.l +++ b/scripts/kconfig/zconf.l @@ -106,7 +106,11 @@ n [A-Za-z0-9_] zconflval.string = text; return T_WORD; } - . + . { + fprintf(stderr, + "%s:%d:warning: ignoring unsupported character '%c'\n", + zconf_curname(), zconf_lineno(), *yytext); + } \n { BEGIN(INITIAL); current_file->lineno++;