summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel E. Denny <jdenny@clemson.edu>2009-12-14 18:04:57 -0500
committerJoel E. Denny <jdenny@clemson.edu>2009-12-14 18:05:23 -0500
commitca01f454f01645533622a59ef0df335ee07679e5 (patch)
tree3ef20553be9ef55bef3f1b91155406a19fbebad6
parent9dc3ee6d54bfa7c261f80ad632f6c2d095477b98 (diff)
downloadbison-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--ChangeLog7
-rw-r--r--bootstrap.conf12
-rw-r--r--m4/.cvsignore1
-rw-r--r--m4/.gitignore1
-rw-r--r--src/system.h25
5 files changed, 32 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 549b084a..e4657441 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
/*-----------.