diff options
author | Joel E. Denny <jdenny@clemson.edu> | 2009-12-14 18:04:57 -0500 |
---|---|---|
committer | Joel E. Denny <jdenny@clemson.edu> | 2009-12-14 18:05:23 -0500 |
commit | ca01f454f01645533622a59ef0df335ee07679e5 (patch) | |
tree | 3ef20553be9ef55bef3f1b91155406a19fbebad6 | |
parent | 9dc3ee6d54bfa7c261f80ad632f6c2d095477b98 (diff) | |
download | bison-ca01f454f01645533622a59ef0df335ee07679e5.tar.gz |
Enable assertion output and --disable-assert for configure.
* bootstrap.conf (gnulib_modules): Add assert module.
* src/system.h (aver): Define as assert, and summarize the
discussion on this issue.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | bootstrap.conf | 12 | ||||
-rw-r--r-- | m4/.cvsignore | 1 | ||||
-rw-r--r-- | m4/.gitignore | 1 | ||||
-rw-r--r-- | src/system.h | 25 |
5 files changed, 32 insertions, 14 deletions
@@ -1,5 +1,12 @@ 2009-12-14 Joel E. Denny <jdenny@clemson.edu> + Enable assertion output and --disable-assert for configure. + * bootstrap.conf (gnulib_modules): Add assert module. + * src/system.h (aver): Define as assert, and summarize the + discussion on this issue. + +2009-12-14 Joel E. Denny <jdenny@clemson.edu> + Expand GLR acronym in summary of Bison. Based on discussion with Akim Demaille starting at <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>. diff --git a/bootstrap.conf b/bootstrap.conf index 1cef2f0d..dff8d80a 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -17,12 +17,12 @@ # gnulib modules used by this package. gnulib_modules=' - announce-gen argmatch config-h c-strcase configmake dirname error - extensions fopen-safer gendocs getopt-gnu gettext git-version-gen hash - inttypes javacomp-script javaexec-script maintainer-makefile malloc - mbswidth obstack quote quotearg stdbool stpcpy strerror strtoul - strverscmp unistd unistd-safer unlocked-io update-copyright unsetenv - verify warnings xalloc xalloc-die xstrndup + announce-gen argmatch assert config-h c-strcase configmake dirname + error extensions fopen-safer gendocs getopt-gnu gettext + git-version-gen hash inttypes javacomp-script javaexec-script + maintainer-makefile malloc mbswidth obstack quote quotearg stdbool + stpcpy strerror strtoul strverscmp unistd unistd-safer unlocked-io + update-copyright unsetenv verify warnings xalloc xalloc-die xstrndup ' # Additional xgettext options to use. Use "\\\newline" to break lines. diff --git a/m4/.cvsignore b/m4/.cvsignore index e8cf4d85..9012c372 100644 --- a/m4/.cvsignore +++ b/m4/.cvsignore @@ -1,6 +1,7 @@ 00gnulib.m4 absolute-header.m4 argmatch.m4 +assert.m4 config-h.m4 dirname.m4 dos.m4 diff --git a/m4/.gitignore b/m4/.gitignore index 810868c1..ef6cd381 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -1,6 +1,7 @@ /00gnulib.m4 /absolute-header.m4 /argmatch.m4 +/assert.m4 /config-h.m4 /dirname.m4 /dos.m4 diff --git a/src/system.h b/src/system.h index 8ea56531..8d2358c2 100644 --- a/src/system.h +++ b/src/system.h @@ -123,17 +123,26 @@ typedef size_t uintptr_t; | Assertions. | `-------------*/ -/* <assert.h>'s assertions are too heavyweight, and can be disabled - too easily, so use aver rather than assert. See discussions at +/* In the past, Bison defined aver to simply invoke abort in the case of + a failed assertion. The rationale was that <assert.h>'s assertions + were too heavyweight and could be disabled too easily. See + discussions at <http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00080.html> <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00111.html>. + + However, normal assert output can be helpful during development and + in bug reports from users. Moreover, it's not clear now that + <assert.h>'s assertions are significantly heavyweight. Finally, if + users want to experiment with disabling assertions, it's debatable + whether it's our responsibility to stop them. See discussion + starting at + <http://lists.gnu.org/archive/html/bison-patches/2009-09/msg00013.html>. + + For now, we use assert but we call it aver throughout Bison in case + we later wish to try another scheme. */ -static inline void -aver (bool assertion) -{ - if (! assertion) - abort (); -} +#include <assert.h> +#define aver assert /*-----------. |