On Mon, 07 Sep, at 02:28:14PM, Jiri Olsa wrote: > On Sat, Sep 05, 2015 at 08:02:21PM +0100, Matt Fleming wrote: > > SNIP > > > }; > > > > +static struct test *tests[] = { > > + generic_tests, > > + arch_tests, > > +}; > > + > > static bool perf_test__matches(struct test *test, int curr, int argc, > > const char *argv[]) > > { > > int i; > > @@ -237,7 +229,11 @@ static int run_test(struct test *test) > > return err; > > } > > > > -#define for_each_test(t) for (t = &tests[0]; t->func; t++) > > +static unsigned int ___j; /* This is obviously not thread-safe */ > > + > > +#define for_each_test(t) \ > > + for (___j = 0; ___j < ARRAY_SIZE(tests); ___j++) \ > > + for (t = &tests[___j][0]; t->func; t++) > > why not have ____j on stack and pas it into for_each_test > > for_each_test(j, t) > ...
Right, I made a conscious decision to not do that because I didn't want the caller to have to care about providing an iterator variable. It also makes the diff slightly bigger. But I don't feel that strongly about it, so I'll make this change. -- Matt Fleming, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/