[Mesa-dev] [PATCH] mesa: Fix some -Wnarrowing warnings
Kenneth Graunke
kenneth at whitecape.org
Thu Aug 9 12:38:52 PDT 2012
On 08/09/2012 11:39 AM, Chad Versace wrote:
> Fixes the following warnings:
> ff_fragment_shader.cpp: In function 'ir_rvalue* emit_texenv(texenv_fragment_program*, GLuint)':
> ff_fragment_shader.cpp:897:3: warning: narrowing conversion of '(1 << ((int)rgb_shift))' from 'int' to 'float' inside { } is ill-formed in C++11 [-Wnarrowing]
> ff_fragment_shader.cpp:897:3: warning: narrowing conversion of '(1 << ((int)rgb_shift))' from 'int' to 'float' inside { } is ill-formed in C++11 [-Wnarrowing]
> ff_fragment_shader.cpp:897:3: warning: narrowing conversion of '(1 << ((int)rgb_shift))' from 'int' to 'float' inside { } is ill-formed in C++11 [-Wnarrowing]
> ff_fragment_shader.cpp:897:3: warning: narrowing conversion of '(1 << ((int)alpha_shift))' from 'int' to 'float' inside { } is ill-formed in C++11 [-Wnarrowing]
>
> CC: Josh Triplett <josh at joshtriplett.org>
> Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
> ---
> src/mesa/main/ff_fragment_shader.cpp | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/main/ff_fragment_shader.cpp b/src/mesa/main/ff_fragment_shader.cpp
> index f743ce1..aefd412 100644
> --- a/src/mesa/main/ff_fragment_shader.cpp
> +++ b/src/mesa/main/ff_fragment_shader.cpp
> @@ -890,10 +890,10 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit)
> }
> else {
> float const_data[4] = {
> - 1 << rgb_shift,
> - 1 << rgb_shift,
> - 1 << rgb_shift,
> - 1 << alpha_shift
> + static_cast<float>(1 << rgb_shift),
> + static_cast<float>(1 << rgb_shift),
> + static_cast<float>(1 << rgb_shift),
> + static_cast<float>(1 << alpha_shift)
> };
> shift = new(p->mem_ctx) ir_constant(glsl_type::vec4_type,
> (ir_constant_data *)const_data);
>
We should just disable that warning. This is not C++11 code, and I
doubt it ever will be. The fact that g++ turned that on in -Wall is stupid.
Unfortunately, that's kind of a pain right now. We should import
XORG_TESTSET_CFLAG from xorg-util-macros...then it'd be a single line in
configure.ac.
More information about the mesa-dev
mailing list