From 3328658b9ca05a320dccd8bf529ad12e408c24da Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Fri, 30 Jul 2010 21:37:36 +0200 Subject: [PATCH] strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler. --- ChangeLog | 7 +++++++ m4/strtok_r.m4 | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5b2470333..78d3b35fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2010-07-30 Bruno Haible + strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to + a 'char *'. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible + unlink: Update regarding AIX. * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1. * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment. diff --git a/m4/strtok_r.m4 b/m4/strtok_r.m4 index cbd47775a..063f91952 100644 --- a/m4/strtok_r.m4 +++ b/m4/strtok_r.m4 @@ -1,4 +1,4 @@ -# strtok_r.m4 serial 10 +# strtok_r.m4 serial 11 dnl Copyright (C) 2002-2004, 2006-2007, 2009-2010 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -30,8 +30,9 @@ AC_DEFUN([gl_FUNC_STRTOK_R], #include #include ]], - [[char delimiters[] = "xxxxxxxx"; -             char *save_ptr = (char *) 0xd0d0; + [[static const char dummy[] = "\177\01a"; + char delimiters[] = "xxxxxxxx"; +             char *save_ptr = (char *) dummy;             strtok_r (delimiters, "x", &save_ptr);             strtok_r (NULL, "x", &save_ptr);             return 0; -- 2.11.0