From 7783ba2d4f73d6e71067a79b4becc5a48d92db16 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Wed, 15 Aug 2018 13:51:36 +0200 Subject: [PATCH] fix incorrect C code Commit 3df32101e7978eaafa63bce8908de3dcae4d9cda introduced invalid C code. Caught by GCC 7.3.0. * bootstrap.conf (gnulib_modules): We need assume. * src/reader.c (find_start_symbol): Fix the signature (too much C++, sorry...). Prefer 'assume' to 'assert', so that we don't have these warnings even when NDEBUG is defined. --- bootstrap.conf | 3 ++- src/reader.c | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index d8c7d128..b2d0f974 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -17,7 +17,8 @@ # gnulib modules used by this package. gnulib_modules=' - argmatch assert calloc-posix close closeout config-h c-strcase + argmatch assert assume + calloc-posix close closeout config-h c-strcase configmake dirname error extensions fdl fopen-safer diff --git a/src/reader.c b/src/reader.c index 18a3fc2d..12faef96 100644 --- a/src/reader.c +++ b/src/reader.c @@ -726,20 +726,20 @@ prepare_percent_define_front_end_variables (void) /* Find the first LHS which is not a dummy. */ static symbol * -find_start_symbol () +find_start_symbol (void) { symbol_list *res = grammar; for (; - res != NULL && symbol_is_dummy (res->content.sym); + res && symbol_is_dummy (res->content.sym); res = res->next) { for (res = res->next; - res != NULL && res->content.sym != NULL; + res && res->content.sym; res = res->next) continue; - aver (res != NULL); + assume (res); } - aver (res != NULL); + assume (res); return res->content.sym; }