diff --git a/data/c.m4 b/data/c.m4 index fd2203eb..994d2964 100644 --- a/data/c.m4 +++ b/data/c.m4 @@ -184,7 +184,7 @@ m4_define([b4_table_value_equals], [m4_if(m4_eval($3 < m4_indir([b4_]$1[_min]) || m4_indir([b4_]$1[_max]) < $3), [1], [[YYID (0)]], - [[((]$2[) == (]$3[))]])]) + [(!!(($2) == ($3)))])]) ## ---------## diff --git a/data/glr.c b/data/glr.c index 9b8ff67c..79d6ffd0 100644 --- a/data/glr.c +++ b/data/glr.c @@ -290,7 +290,8 @@ b4_percent_code_get[]dnl # include # define YYJMP_BUF jmp_buf # define YYSETJMP(Env) setjmp (Env) -# define YYLONGJMP(Env, Val) longjmp (Env, Val) +// Pacify clang. +# define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0)) #endif /*-----------------. diff --git a/src/uniqstr.h b/src/uniqstr.h index 913da39f..677ecc42 100644 --- a/src/uniqstr.h +++ b/src/uniqstr.h @@ -36,7 +36,7 @@ uniqstr uniqstr_vsprintf (char const *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))); /* Two uniqstr values have the same value iff they are the same. */ -#define UNIQSTR_EQ(USTR1, USTR2) ((USTR1) == (USTR2)) +#define UNIQSTR_EQ(USTR1, USTR2) (!!((USTR1) == (USTR2))) /* Compare two uniqstr a la strcmp: negative for <, nul for =, and positive for >. Undefined order, relies on addresses. */