X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fconfigurator%2Fconfigurator.c;h=f4edb8ee1b214dbf97106bffe91335b12d5737ac;hp=d1aa5c61a564670e915a6921ee06fd9ec0968817;hb=7011546929cfc537028eb4fd091104b383b5c86f;hpb=54d5123a56011f805500a8d18e178874300be1f7 diff --git a/tools/configurator/configurator.c b/tools/configurator/configurator.c index d1aa5c61..f4edb8ee 100644 --- a/tools/configurator/configurator.c +++ b/tools/configurator/configurator.c @@ -117,9 +117,9 @@ static struct test tests[] = { { "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(1 << (sizeof(long)*8 - 1)) == (sizeof(long)*8 - 1) ? 0 : 1;" }, + "return __builtin_ctzl(1UL << (sizeof(long)*8 - 1)) == (sizeof(long)*8 - 1) ? 0 : 1;" }, { "HAVE_BUILTIN_CTZLL", INSIDE_MAIN, NULL, NULL, - "return __builtin_ctzll(1 << (sizeof(long long)*8 - 1) == (sizeof(long long)*8 - 1) ? 0 : 1;" }, + "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, @@ -214,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" @@ -271,6 +277,13 @@ static struct test tests[] = { "#include \n" }, { "HAVE_TYPEOF", INSIDE_MAIN, NULL, NULL, "__typeof__(argc) i; i = argc; return i == argc ? 0 : 1;" }, + { "HAVE_UNALIGNED_ACCESS", DEFINES_EVERYTHING|EXECUTE, NULL, NULL, + "#include \n" + "int main(int argc, char *argv[]) {\n" + " char pad[sizeof(int *) * 1];\n" + " strncpy(pad, argv[0], sizeof(pad));\n" + " return *(int *)(pad) == *(int *)(pad + 1);\n" + "}\n" }, { "HAVE_UTIME", DEFINES_FUNC, NULL, NULL, "#include \n" "#include \n"