testsuite: Fix up pr98920.c on non-glibc or old glibc targets [PR98920]
authorJakub Jelinek <jakub@redhat.com>
Tue, 9 Mar 2021 13:14:09 +0000 (14:14 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 9 Mar 2021 13:15:26 +0000 (14:15 +0100)
Not all OSes have regex.h and not all OSes that do have REG_STARTEND macro support.
Conditionalize the test on that.

2021-03-09  Jakub Jelinek  <jakub@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

index 881d3d4..789a2a3 100644 (file)
@@ -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;
 }