From eecc352a2246ff8edcc7600d506da3a2d73aa4e8 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 2 Dec 2005 00:30:09 +0000 Subject: [PATCH] * regex.m4 (gl_REGEX): Check whether off_t can be used in a switch statement, to work around an HP-UX 10.20 compiler bug reported by Peter O'Gorman. --- m4/ChangeLog | 6 ++++++ m4/regex.m4 | 27 ++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/m4/ChangeLog b/m4/ChangeLog index b797738de..d285d7c29 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,9 @@ +2005-12-01 Paul Eggert + + * regex.m4 (gl_REGEX): Check whether off_t can be used in a switch + statement, to work around an HP-UX 10.20 compiler bug reported by + Peter O'Gorman. + 2005-11-10 Paul Eggert * gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME diff --git a/m4/regex.m4 b/m4/regex.m4 index d7e221090..8ea4fe94b 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,4 +1,4 @@ -#serial 30 +#serial 31 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free # Software Foundation, Inc. @@ -15,8 +15,29 @@ AC_PREREQ([2.50]) AC_DEFUN([gl_REGEX], [ AC_REQUIRE([AC_SYS_LARGEFILE]) dnl for a sufficently-wide off_t - AC_DEFINE([_REGEX_LARGE_OFFSETS], 1, - [Define if you want regoff_t to be at least as wide POSIX requires.]) + + AC_CACHE_CHECK([whether off_t can be used in a switch statement], + [gl_cv_type_off_t_switch], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT], + [[off_t o = -1; + switch (o) + { + case -2: + return 1; + case -1: + return 2; + default: + return 0; + } + ]])], + [gl_cv_type_off_t_switch=yes], + [gl_cv_type_off_t_switch=no])]) + if test $gl_cv_type_off_t_switch = yes; then + AC_DEFINE([_REGEX_LARGE_OFFSETS], 1, + [Define if you want regoff_t to be at least as wide POSIX requires.]) + fi AC_LIBSOURCES( [regcomp.c, regex.c, regex.h, -- 2.11.0