* lib/abitset.c (abitset_resize): Rewrite to avoid warnings from
compilers that don't understand that abort () does not return.
* src/state.c (transitions_to): Likewise.
* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
that '#include <cstdlib>' works.
* src/system.h (INT8_MIN, INT16_MIN, INT32_MIN, INT8_MAX):
(INT16_MAX, UINT8_MAX, INT32_MAX, UINT16_MAX, UINT32_MAX):
#undef if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901,
for the benefit of some pre-C99 compilers.
2006-01-19 Paul Eggert <eggert@cs.ucla.edu>
2006-01-19 Paul Eggert <eggert@cs.ucla.edu>
+ Fix some porting glitches found by Nelson H. F. Beebe.
+ * lib/abitset.c (abitset_resize): Rewrite to avoid warnings from
+ compilers that don't understand that abort () does not return.
+ * src/state.c (transitions_to): Likewise.
+ * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
+ that '#include <cstdlib>' works.
+ * src/system.h (INT8_MIN, INT16_MIN, INT32_MIN, INT8_MAX):
+ (INT16_MAX, UINT8_MAX, INT32_MAX, UINT16_MAX, UINT32_MAX):
+ #undef if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901,
+ for the benefit of some pre-C99 compilers.
+
* bootstrap: Undo changes to gnulib files that autoreconf made.
Minor fixups to get 'make maintainer-check' to work.
* bootstrap: Undo changes to gnulib files that autoreconf made.
Minor fixups to get 'make maintainer-check' to work.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2006 Free Software Foundation, Inc.
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
This program is free software; you can redistribute it and/or modify
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
This program is free software; you can redistribute it and/or modify
abitset_resize (bitset src ATTRIBUTE_UNUSED,
bitset_bindex size ATTRIBUTE_UNUSED)
{
abitset_resize (bitset src ATTRIBUTE_UNUSED,
bitset_bindex size ATTRIBUTE_UNUSED)
{
- if (BITSET_SIZE_ (src) == size)
- return size;
-
/* These bitsets have a fixed size. */
/* These bitsets have a fixed size. */
+ if (BITSET_SIZE_ (src) != size)
+ abort ();
+
+ return size;
}
/* Find list of up to NUM bits set in BSET starting from and including
}
/* Find list of up to NUM bits set in BSET starting from and including
# -*- Autoconf -*-
# Sanity-test a C++ compiler.
#
# -*- Autoconf -*-
# Sanity-test a C++ compiler.
#
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA
-# Written by Paul Eggert <eggert@cs.ucla.edu>.
+# Written by Paul Eggert.
AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
[
AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
[
[AC_LANG_PUSH([C++])
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[AC_LANG_PUSH([C++])
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
+ [#include <cstdlib>
+ #include <iostream>
using namespace std;],
[std::cerr << "";
cout << "";])],
using namespace std;],
[std::cerr << "";
cout << "";])],
/* Type definitions for nondeterministic finite state machine for Bison.
/* Type definitions for nondeterministic finite state machine for Bison.
- Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+ Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
This file is part of Bison, the GNU Compiler Compiler.
transitions_to (transitions *shifts, symbol_number sym)
{
int j;
transitions_to (transitions *shifts, symbol_number sym)
{
int j;
- for (j = 0; j < shifts->num; j++)
- if (TRANSITION_SYMBOL (shifts, j) == sym)
- return shifts->states[j];
- abort ();
+ for (j = 0; ; j++)
+ {
+ if (shifts->num <= j)
+ abort ();
+ if (TRANSITION_SYMBOL (shifts, j) == sym)
+ return shifts->states[j];
+ }
/* System-dependent definitions for Bison.
/* System-dependent definitions for Bison.
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software
- Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
+ Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#ifndef BISON_SYSTEM_H
#define BISON_SYSTEM_H
#ifndef BISON_SYSTEM_H
#define BISON_SYSTEM_H
+/* flex 2.5.31 gratutiously defines macros like INT8_MIN. But this
+ runs afoul of pre-C99 compilers that have <inttypes.h> or
+ <stdint.h>, which are included below if available. It also runs
+ afoul of pre-C99 compilers that define these macros in <limits.h>. */
+#if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901
+# undef INT8_MIN
+# undef INT16_MIN
+# undef INT32_MIN
+# undef INT8_MAX
+# undef INT16_MAX
+# undef UINT8_MAX
+# undef INT32_MAX
+# undef UINT16_MAX
+# undef UINT32_MAX
+#endif
+
#include <limits.h>
#include <stddef.h>
#include <stdlib.h>
#include <limits.h>
#include <stddef.h>
#include <stdlib.h>