mirror of
https://git.yoctoproject.org/poky
synced 2026-05-01 06:32:11 +02:00
puzzles: Silence warning on arm with clang
Clang finds overflows when comparison is done between an unsigned char and a integer constant. So explicitly typecast the constant before comparison (From OE-Core rev: 2a18273fc74c6493e3d34499a8774e237772f109) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
From 6d8326275802a2e6e61d3e99460af6891ae8362f Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 13 Jan 2016 23:10:19 -0800
|
||||
Subject: [puzzles][PATCH] palisade: Fix warnings with clang on arm
|
||||
|
||||
ARM treats 'char' as unsigned char when 'char' is not qualified with
|
||||
'signed' or 'unsigned' explicitly.
|
||||
|
||||
This results in warnings e.g.
|
||||
|
||||
palisade.c:531:22: error: comparison of constant -1 with expression of
|
||||
type 'clue' (aka 'char') is always false
|
||||
[-Werror,-Wtautological-constant-out-of-range-compare]
|
||||
if (clues[i] == EMPTY) continue;
|
||||
|
||||
Therefore, typcast the contant to char in such places to be explicit
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Submitted
|
||||
|
||||
palisade.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/palisade.c b/palisade.c
|
||||
index 984e616..2b9c25c 100644
|
||||
--- a/palisade.c
|
||||
+++ b/palisade.c
|
||||
@@ -295,11 +295,11 @@ static void solver_connected_clues_versus_region_size(solver_ctx *ctx)
|
||||
* If p = q = 3 then the region has size exactly 2. */
|
||||
|
||||
for (i = 0; i < wh; ++i) {
|
||||
- if (ctx->clues[i] == EMPTY) continue;
|
||||
+ if (ctx->clues[i] == (char)EMPTY) continue;
|
||||
for (dir = 0; dir < 4; ++dir) {
|
||||
int j = i + dx[dir] + w*dy[dir];
|
||||
if (disconnected(ctx, i, j, dir)) continue;
|
||||
- if (ctx->clues[j] == EMPTY) continue;
|
||||
+ if (ctx->clues[j] == (char)EMPTY) continue;
|
||||
if ((8 - ctx->clues[i] - ctx->clues[j] > ctx->params->k) ||
|
||||
(ctx->clues[i] == 3 && ctx->clues[j] == 3 &&
|
||||
ctx->params->k != 2))
|
||||
@@ -317,7 +317,7 @@ static int solver_number_exhausted(solver_ctx *ctx)
|
||||
int changed = FALSE;
|
||||
|
||||
for (i = 0; i < wh; ++i) {
|
||||
- if (ctx->clues[i] == EMPTY) continue;
|
||||
+ if (ctx->clues[i] == (char)EMPTY) continue;
|
||||
|
||||
if (bitcount[(ctx->borders[i] & BORDER_MASK)] == ctx->clues[i]) {
|
||||
for (dir = 0; dir < 4; ++dir) {
|
||||
@@ -528,7 +528,7 @@ static int is_solved(const game_params *params, clue *clues,
|
||||
for (i = 0; i < wh; ++i) {
|
||||
if (dsf[i] == UNVISITED) dfs_dsf(i, params->w, border, dsf, TRUE);
|
||||
if (dsf_size(dsf, i) != k) goto error;
|
||||
- if (clues[i] == EMPTY) continue;
|
||||
+ if (clues[i] == (char)EMPTY) continue;
|
||||
if (clues[i] != bitcount[border[i] & BORDER_MASK]) goto error;
|
||||
}
|
||||
|
||||
@@ -674,7 +674,7 @@ static char *new_game_desc(const game_params *params, random_state *rs,
|
||||
p = numbers;
|
||||
r = 0;
|
||||
for (i = 0; i < wh; ++i) {
|
||||
- if (numbers[i] != EMPTY) {
|
||||
+ if (numbers[i] != (char)EMPTY) {
|
||||
while (r) {
|
||||
while (r > 26) {
|
||||
*p++ = 'z';
|
||||
--
|
||||
2.7.0
|
||||
|
||||
@@ -13,6 +13,7 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git \
|
||||
file://fix-compiling-failure-with-option-g-O.patch \
|
||||
file://0001-Use-labs-instead-of-abs.patch \
|
||||
file://0001-rect-Fix-compiler-errors-about-uninitialized-use-of-.patch \
|
||||
file://0001-palisade-Fix-warnings-with-clang-on-arm.patch \
|
||||
"
|
||||
SRCREV = "346584bf6e38232be8773c24fd7dedcbd7b3d9ed"
|
||||
PE = "1"
|
||||
|
||||
Reference in New Issue
Block a user