mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
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.
This commit is contained in:
11
ChangeLog
11
ChangeLog
@@ -1,5 +1,16 @@
|
|||||||
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.
|
* bootstrap: Undo changes to gnulib files that autoreconf made.
|
||||||
|
|
||||||
Minor fixups to get 'make maintainer-check' to work.
|
Minor fixups to get 'make maintainer-check' to work.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Array bitsets.
|
/* Array bitsets.
|
||||||
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).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -37,11 +37,11 @@ static bitset_bindex
|
|||||||
abitset_resize (bitset src ATTRIBUTE_UNUSED,
|
abitset_resize (bitset src ATTRIBUTE_UNUSED,
|
||||||
bitset_bindex size 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. */
|
||||||
abort ();
|
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
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# -*- Autoconf -*-
|
# -*- Autoconf -*-
|
||||||
# Sanity-test a C++ compiler.
|
# 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
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
# 02110-1301 USA
|
# 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],
|
||||||
[
|
[
|
||||||
@@ -27,7 +27,8 @@ AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
|
|||||||
[AC_LANG_PUSH([C++])
|
[AC_LANG_PUSH([C++])
|
||||||
AC_RUN_IFELSE(
|
AC_RUN_IFELSE(
|
||||||
[AC_LANG_PROGRAM(
|
[AC_LANG_PROGRAM(
|
||||||
[#include <iostream>
|
[#include <cstdlib>
|
||||||
|
#include <iostream>
|
||||||
using namespace std;],
|
using namespace std;],
|
||||||
[std::cerr << "";
|
[std::cerr << "";
|
||||||
cout << "";])],
|
cout << "";])],
|
||||||
|
|||||||
14
src/state.c
14
src/state.c
@@ -1,6 +1,7 @@
|
|||||||
/* 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.
|
||||||
|
|
||||||
@@ -58,10 +59,13 @@ state *
|
|||||||
transitions_to (transitions *shifts, symbol_number sym)
|
transitions_to (transitions *shifts, symbol_number sym)
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
for (j = 0; j < shifts->num; j++)
|
for (j = 0; ; j++)
|
||||||
if (TRANSITION_SYMBOL (shifts, j) == sym)
|
{
|
||||||
return shifts->states[j];
|
if (shifts->num <= j)
|
||||||
abort ();
|
abort ();
|
||||||
|
if (TRANSITION_SYMBOL (shifts, j) == sym)
|
||||||
|
return shifts->states[j];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
20
src/system.h
20
src/system.h
@@ -1,7 +1,7 @@
|
|||||||
/* System-dependent definitions for Bison.
|
/* System-dependent definitions for Bison.
|
||||||
|
|
||||||
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software
|
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
|
||||||
Foundation, Inc.
|
Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,6 +20,22 @@
|
|||||||
#ifndef BISON_SYSTEM_H
|
#ifndef BISON_SYSTEM_H
|
||||||
#define 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 <limits.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user