X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fconfigurator%2Fconfigurator.c;h=dd5587c3b556c31eaa6b2a5887e684d375530e0f;hb=17aa322abd7b785330ab49e348144be940b3d1d8;hp=5ccc8c914dc83a41680cc3429da414f323a49b6a;hpb=3d3e9b9cbf0bf43c3ce2670175d936677e29f621;p=ccan diff --git a/tools/configurator/configurator.c b/tools/configurator/configurator.c index 5ccc8c91..dd5587c3 100644 --- a/tools/configurator/configurator.c +++ b/tools/configurator/configurator.c @@ -114,10 +114,18 @@ static struct test tests[] = { "return __builtin_clzl(1) == (sizeof(long)*8 - 1) ? 0 : 1;" }, { "HAVE_BUILTIN_CLZLL", INSIDE_MAIN, NULL, NULL, "return __builtin_clzll(1) == (sizeof(long long)*8 - 1) ? 0 : 1;" }, + { "HAVE_BUILTIN_CTZ", INSIDE_MAIN, NULL, NULL, + "return __builtin_ctz(1 << (sizeof(int)*8 - 1)) == (sizeof(int)*8 - 1) ? 0 : 1;" }, + { "HAVE_BUILTIN_CTZL", INSIDE_MAIN, NULL, NULL, + "return __builtin_ctzl(1UL << (sizeof(long)*8 - 1)) == (sizeof(long)*8 - 1) ? 0 : 1;" }, + { "HAVE_BUILTIN_CTZLL", INSIDE_MAIN, NULL, NULL, + "return __builtin_ctzll(1ULL << (sizeof(long long)*8 - 1)) == (sizeof(long long)*8 - 1) ? 0 : 1;" }, { "HAVE_BUILTIN_CONSTANT_P", INSIDE_MAIN, NULL, NULL, "return __builtin_constant_p(1) ? 0 : 1;" }, { "HAVE_BUILTIN_EXPECT", INSIDE_MAIN, NULL, NULL, "return __builtin_expect(argc == 1, 1) ? 0 : 1;" }, + { "HAVE_BUILTIN_FFS", INSIDE_MAIN, NULL, NULL, + "return __builtin_ffs(0) == 0 ? 0 : 1;" }, { "HAVE_BUILTIN_FFSL", INSIDE_MAIN, NULL, NULL, "return __builtin_ffsl(0L) == 0 ? 0 : 1;" }, { "HAVE_BUILTIN_FFSLL", INSIDE_MAIN, NULL, NULL, @@ -126,6 +134,11 @@ static struct test tests[] = { "return __builtin_popcountl(255L) == 8 ? 0 : 1;" }, { "HAVE_BUILTIN_TYPES_COMPATIBLE_P", INSIDE_MAIN, NULL, NULL, "return __builtin_types_compatible_p(char *, int) ? 1 : 0;" }, + { "HAVE_ICCARM_INTRINSICS", DEFINES_FUNC, NULL, NULL, + "#include \n" + "int func(int v) {\n" + " return __CLZ(__RBIT(v));\n" + "}" }, { "HAVE_BYTESWAP_H", OUTSIDE_MAIN, NULL, NULL, "#include \n" }, { "HAVE_CLOCK_GETTIME", @@ -201,6 +214,12 @@ static struct test tests[] = { "static void *func(void *h, size_t hl, void *n, size_t nl) {\n" "return memmem(h, hl, n, nl);" "}\n", }, + { "HAVE_MEMRCHR", DEFINES_FUNC, NULL, NULL, + "#define _GNU_SOURCE\n" + "#include \n" + "static void *func(void *s, int c, size_t n) {\n" + "return memrchr(s, c, n);" + "}\n", }, { "HAVE_MMAP", DEFINES_FUNC, NULL, NULL, "#include \n" "static void *func(int fd) {\n"