For clang, enums are unsigned by default and gives the following warning: external/mesa3d/src/mesa/main/buffers.c:764:21: warning: comparison of constant -1 with expression of type 'gl_buffer_index' is always false [-Wtautological-constant-out-of-range-compare] if (srcBuffer == -1) { ~~~~~~~~~ ^ ~~
Replace -1 with an enum value to fix this. Signed-off-by: Rob Herring <r...@kernel.org> --- src/mesa/main/buffers.c | 6 +++--- src/mesa/main/mtypes.h | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c index 7d17ae92de23..c5846e85c21d 100644 --- a/src/mesa/main/buffers.c +++ b/src/mesa/main/buffers.c @@ -752,16 +752,16 @@ read_buffer(struct gl_context *ctx, struct gl_framebuffer *fb, if (buffer == GL_NONE) { /* This is legal--it means that no buffer should be bound for reading. */ - srcBuffer = -1; + srcBuffer = BUFFER_NONE; } else { /* general case / window-system framebuffer */ if (_mesa_is_gles3(ctx) && !is_legal_es3_readbuffer_enum(buffer)) - srcBuffer = -1; + srcBuffer = BUFFER_NONE; else srcBuffer = read_buffer_enum_to_index(ctx, buffer); - if (srcBuffer == -1) { + if (srcBuffer == BUFFER_NONE) { _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid buffer %s)", caller, _mesa_enum_to_string(buffer)); diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 29e4c67846a5..6b6937473054 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -144,7 +144,8 @@ typedef enum BUFFER_COLOR5, BUFFER_COLOR6, BUFFER_COLOR7, - BUFFER_COUNT + BUFFER_COUNT, + BUFFER_NONE = -1, } gl_buffer_index; /** -- 2.11.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev