Hi! Not all OSes have regex.h and not all OSes that do have REG_STARTEND macro support. Conditionalize the test on that.
Tested on x86_64-linux without/with Martin's libsanitizer fix, committed to trunk as obvious. 2021-03-09 Jakub Jelinek <ja...@redhat.com> PR sanitizer/98920 * c-c++-common/asan/pr98920.c: Only include regex.h if the header exists. If REG_STARTEND macro isn't defined, just return 0 from main instead of the actual test. --- gcc/testsuite/c-c++-common/asan/pr98920.c.jj 2021-03-08 23:40:33.935447429 +0100 +++ gcc/testsuite/c-c++-common/asan/pr98920.c 2021-03-09 12:15:28.904809967 +0100 @@ -3,10 +3,13 @@ #include <stdio.h> #include <sys/types.h> +#if __has_include(<regex.h>) #include <regex.h> +#endif int main(void) { +#ifdef REG_STARTEND regex_t r; const char s[] = "ban\0ana"; regmatch_t pmatch[10]; @@ -20,5 +23,6 @@ int main(void) return 3; } regfree(&r); +#endif return 0; } Jakub