diff options
author | Akim Demaille <akim@lrde.epita.fr> | 2012-10-08 09:17:20 +0200 |
---|---|---|
committer | Akim Demaille <akim@lrde.epita.fr> | 2012-10-08 09:51:52 +0200 |
commit | 34076080cd70857ca371ed8038d81acfe3f68bca (patch) | |
tree | 85ba1e33b9b17541dc068b3c5833e8250bdcb497 /data | |
parent | 321d3e35d52c3a118e4fd574ec63e667c330a40e (diff) | |
download | bison-34076080cd70857ca371ed8038d81acfe3f68bca.tar.gz |
warnings: avoid warnings from clang
Fix the following warning
parse-gram.c:2078:14: error: equality comparison with extraneous parentheses
[-Werror,-Wparentheses-equality]
if (((yyn) == (-91)))
~~~~~~^~~~~~~~
parse-gram.c:2078:14: note: remove extraneous parentheses around the
comparison to silence this warning
if (((yyn) == (-91)))
~ ^ ~
parse-gram.c:2078:14: note: use '=' to turn this equality comparison into
an assignment
if (((yyn) == (-91)))
^~
=
1 error generated.
and the following one:
input.cc:740:1: error: function declared 'noreturn' should not return
[-Werror,-Winvalid-noreturn]
static void yyMemoryExhausted (yyGLRStack* yystackp)
__attribute__ ((__noreturn__));
static void
yyMemoryExhausted (yyGLRStack* yystackp)
{
YYLONGJMP (yystackp->yyexception_buffer, 2);
}
^
1 warning and 1 error generated.
This is Apple clang version 3.1 (tags/Apple/clang-318.0.61).
* data/c.m4 (b4_table_value_equals): Use (!!(A == B)) instead of (A == B)
to avoid this warning.
Any reasonable compiler should generate the same code.
* src/uniqstr.h (UNIQSTR_EQ): Likewise.
* data/glr.c (LONGJMP): abort after longjmp to pacify clang.
Diffstat (limited to 'data')
-rw-r--r-- | data/c.m4 | 2 | ||||
-rw-r--r-- | data/glr.c | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -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)))])]) ## ---------## @@ -290,7 +290,8 @@ b4_percent_code_get[]dnl # include <setjmp.h> # 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 /*-----------------. |