]> git.saurik.com Git - bison.git/commitdiff
Enable assertion output and --disable-assert for configure.
authorJoel E. Denny <jdenny@clemson.edu>
Mon, 14 Dec 2009 23:04:57 +0000 (18:04 -0500)
committerJoel E. Denny <jdenny@clemson.edu>
Mon, 14 Dec 2009 23:13:04 +0000 (18:13 -0500)
* bootstrap.conf (gnulib_modules): Add assert module.
* src/system.h (aver): Define as assert, and summarize the
discussion on this issue.
(cherry picked from commit ca01f454f01645533622a59ef0df335ee07679e5)

ChangeLog
bootstrap.conf
m4/.cvsignore
m4/.gitignore
src/system.h

index de7790ccd9b7adda4c42a56fe8a807a014beaaca..cee393bca4555f9d3de810d1de5357225f1a3b9d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
index 1cef2f0d3cd6e81f3ccfb2c424ade93bcf5b9ae8..dff8d80ab129db06cd7d615d1345413c0451c1ca 100644 (file)
 
 # 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.
index e8cf4d85eb328ec1abe194af8b4c73da08823b49..9012c372390204ebddda45f06734aae61960161c 100644 (file)
@@ -1,6 +1,7 @@
 00gnulib.m4
 absolute-header.m4
 argmatch.m4
+assert.m4
 config-h.m4
 dirname.m4
 dos.m4
index 810868c1a33399e45b05aef168565f4bd3e83eda..ef6cd381a53641b6a63b58c2c00db44d3d2a52c1 100644 (file)
@@ -1,6 +1,7 @@
 /00gnulib.m4
 /absolute-header.m4
 /argmatch.m4
+/assert.m4
 /config-h.m4
 /dirname.m4
 /dos.m4
index 8ea5653157fdc72feca09a0324b78b9ae0481f4c..8d2358c29eda8fc591f2b88c850bc5338ca50109 100644 (file)
@@ -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
 
 
 /*-----------.