diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2005-12-02 00:29:02 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2005-12-02 00:29:02 +0000 |
commit | b3c0bca1f8a793e886889f711a11d4490b8cab85 (patch) | |
tree | f929a525b420b8834f7111eee95445166f976629 /m4 | |
parent | 82ff8691407d91022d47d2dfe1555108c4295915 (diff) | |
download | coreutils-b3c0bca1f8a793e886889f711a11d4490b8cab85.tar.xz |
(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.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/regex.m4 | 27 |
1 files changed, 24 insertions, 3 deletions
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, |