summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2021-10-23 06:01:44 +0200
committerAkim Demaille <akim.demaille@gmail.com>2021-11-06 09:00:58 +0100
commitc83425ef4e1c66c81d328338e6bf98f5e3c33b81 (patch)
tree74ff6c21cd05cfe4033e0cbff08a90bf002056d0 /tests
parentc9b5b46d744766396db52b97a9e3a1f61f9e742a (diff)
downloadbison-c83425ef4e1c66c81d328338e6bf98f5e3c33b81.tar.gz
tests: address portability issues about strdup
Reported by Dennis Clarke <https://lists.gnu.org/r/bug-bison/2021-10/msg00005.html>. In particular <https://lists.gnu.org/r/bug-bison/2021-10/msg00023.html>. * doc/bison.texi, examples/c/glr/c++-types.y, * examples/c/bistromathic/parse.y tests/testsuite.h: Define _XOPEN_SOURCE to 600, to get a strdup that works on Solaris. * tests/glr-regression.at: Use strdup freely.
Diffstat (limited to 'tests')
-rw-r--r--tests/glr-regression.at4
-rw-r--r--tests/testsuite.h5
2 files changed, 6 insertions, 3 deletions
diff --git a/tests/glr-regression.at b/tests/glr-regression.at
index a10f69ba..3a226f65 100644
--- a/tests/glr-regression.at
+++ b/tests/glr-regression.at
@@ -295,9 +295,7 @@ FILE *input;
else
{
assert (strlen (buf) < sizeof buf - 1);
- char *s = YY_CAST (char *, malloc (strlen (buf) + 1));
- strcpy (s, buf);
- ]AT_VAL[ = s;
+ ]AT_VAL[ = strdup (buf);
return 'V';
}
break;
diff --git a/tests/testsuite.h b/tests/testsuite.h
index 46e99dfe..d2be5e62 100644
--- a/tests/testsuite.h
+++ b/tests/testsuite.h
@@ -10,3 +10,8 @@
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# endif
#endif
+
+/* We use strdup, make it available. */
+#ifndef _XOPEN_SOURCE
+# define _XOPEN_SOURCE 600
+#endif