-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 12/13/2010 07:27 AM, Keith Whitwell wrote: > On Mon, 2010-12-13 at 07:09 -0800, Brian Paul wrote: >> On 12/10/2010 03:27 PM, Vinson Lee wrote: >>> Module: Mesa >>> Branch: master >>> Commit: ef3f7e61b314236cbb7ed2cf24d34c6f90d9cfca >>> URL: >>> http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef3f7e61b314236cbb7ed2cf24d34c6f90d9cfca >>> >>> Author: Vinson Lee<v...@vmware.com> >>> Date: Fri Dec 10 14:24:05 2010 -0800 >>> >>> tnl: Initialize gl_program_machine memory in run_vp. >>> >>> Fixes piglit valgrind glsl-array-bounds-04 failure (FDO bug 29946). >>> >>> NOTE: >>> This is a candidate for the 7.10 branch. >>> This is a candidate for the 7.9 branch. >>> >>> --- >>> >>> src/mesa/tnl/t_vb_program.c | 2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/src/mesa/tnl/t_vb_program.c b/src/mesa/tnl/t_vb_program.c >>> index 76f8fde..7e7c59a 100644 >>> --- a/src/mesa/tnl/t_vb_program.c >>> +++ b/src/mesa/tnl/t_vb_program.c >>> @@ -311,7 +311,7 @@ run_vp( struct gl_context *ctx, struct >>> tnl_pipeline_stage *stage ) >>> struct vp_stage_data *store = VP_STAGE_DATA(stage); >>> struct vertex_buffer *VB =&tnl->vb; >>> struct gl_vertex_program *program = ctx->VertexProgram._Current; >>> - struct gl_program_machine machine; >>> + struct gl_program_machine machine = { 0 }; >>> GLuint outputs[VERT_RESULT_MAX], numOutputs; >>> GLuint i, j; >> >> I think there's a better fix. The above will initialize the whole >> object to zeros for every function call (and be a performance hit). I >> think we really only need to do it once to avoid the valgrind warning. >> >> I've got a new patch that I'll commit. > > Also, this idiom of partially initializing structures with {0} seems to > cause gcc to squawk about all the fields which weren't included in the > initializer.
What's the specific warning? That seems odd as the C spec explicitly says what this is supposed to do for both arrays and structures. It's particularly convenient when used with C99 designated initializers. I'm mostly just curious here. I agree with Brian's assessment of the patch. > MSVC apparently doesn't complain, and it is a convenient idiom providing > the compiler likes it. > > On balance, I like getting those warnings from gcc as they can spot real > bugs elsewhere, so I'd prefer not to have code which causes us to want > to turn the warning off... -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0GZNMACgkQX1gOwKyEAw87iQCgkePZN61YPk4kb96MDI709Rbf 9x8AnRVk+2O0l9AT8ECfJTKSkL8YT/To =C08x -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev