[Mesa-dev] [PATCH] mesa: Fix some -Wnarrowing warnings

Chad Versace chad.versace at linux.intel.com
Thu Aug 9 11:39:03 PDT 2012


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);
-- 
1.7.11.4



More information about the mesa-dev mailing list