Very dumb patch to just skip --param allow-store-data-races=0 introduced in
newer GCC versions.

Without this patch sparse recognizes parameter of the --param option as a file
name which obviously couldn't be found.

The patch for easy implementation's sake slightly changed behaviour of
--version. Instead of exact keyword it will recognize anything starting with
--version as a correct option.

Signed-off-by: Andy Shevchenko <[email protected]>
---
 lib.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/lib.c b/lib.c
index 4e5a846..d5b94c3 100644
--- a/lib.c
+++ b/lib.c
@@ -678,6 +678,18 @@ static char **handle_version(char *arg, char **next)
        exit(0);
 }
 
+static char **handle_param(char *arg, char **next)
+{
+       const char *value = NULL;
+
+       /* For now just skip any '--param=*' or '--param *' */
+       value = split_value_from_arg(arg, value);
+       if (!value)
+               ++next;
+
+       return ++next;
+}
+
 struct switches {
        const char *name;
        char **(*fn)(char *, char **);
@@ -686,13 +698,14 @@ struct switches {
 static char **handle_long_options(char *arg, char **next)
 {
        static struct switches cmd[] = {
+               { "param", handle_param },
                { "version", handle_version },
                { NULL, NULL }
        };
        struct switches *s = cmd;
 
        while (s->name) {
-               if (!strcmp(s->name, arg))
+               if (!strncmp(arg, s->name, strlen(s->name)))
                        return s->fn(arg, next);
                s++;
        }
-- 
2.0.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to