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) ... jirka -- 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/