[Mesa-dev] [PATCH] glsl: fix compiler warnings in link_uniforms.cpp
Matt Turner
mattst88 at gmail.com
Wed Mar 5 17:32:30 PST 2014
On Wed, Mar 5, 2014 at 3:42 PM, Brian Paul <brianp at vmware.com> wrote:
> With a non-debug build, gcc has two complaints:
> 1. 'found' var not used. Silence with '(void) found;'
> 2. 'id' not initialized. It's assigned by the UniformHash->get()
> call, actually. But init it to zero to silence gcc.
> ---
> src/glsl/link_uniforms.cpp | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
> index 1cf376d..1c451e7 100644
> --- a/src/glsl/link_uniforms.cpp
> +++ b/src/glsl/link_uniforms.cpp
> @@ -775,9 +775,10 @@ link_set_image_access_qualifiers(struct gl_shader_program *prog)
>
> if (var && var->data.mode == ir_var_uniform &&
> var->type->contains_image()) {
> - unsigned id;
> + unsigned id = 0;
> bool found = prog->UniformHash->get(id, var->name);
> assert(found);
> + (void) found;
> const gl_uniform_storage *storage = &prog->UniformStorage[id];
> const unsigned index = storage->image[i].index;
> const GLenum access = (var->data.image.read_only ? GL_READ_ONLY :
> --
> 1.7.10.4
Wow, we're passing id as a non-constant reference to ->get(), and then
indirectly asserting that it was set. It might be nice to modify ::get
to just return the new id as an int, where -1 means failure. That
shouldn't block this patch though.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
More information about the mesa-dev
mailing list