[committed] testsuite: Fix up pr98920.c on non-glibc or old glibc targets [PR98920]
Jakub Jelinek
jakub@redhat.com
Tue Mar 9 13:16:53 GMT 2021
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 <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.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
More information about the Gcc-patches
mailing list