From 3bcddd5e89a2fe4c4d275eacefd67e3c267942fd Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sun, 1 Jul 2012 16:21:32 -0700 Subject: [PATCH] glsl: Remove unused ir_loop_jump::loop pointer. Commit 0c005bd7 intended to make ir_loop_jump::mode public, but also accidentally added a new pointer to the enclosing loop. Furthermore, it tried to initialize the new field by adding "this->loop = loop;" to the constructor, but since there is no loop parameter, this only initialized the field to itself---so it will likely be a garbage pointer. A lot of code, such as lower_jumps, allocates new loop jumps without setting this field appropriately, so any uses would probably just crash. Thankfully, there were none, so we can just delete the field. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51574 Reviewed-by: Ian Romanick Reviewed-by: Eric Anholt (cherry picked from commit b1802a2115323233352da558430e109ff187b8af) --- src/glsl/ir.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 1faae3c7259..1fae5864fc9 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -1158,7 +1158,6 @@ public: { this->ir_type = ir_type_loop_jump; this->mode = mode; - this->loop = loop; } virtual ir_loop_jump *clone(void *mem_ctx, struct hash_table *) const; @@ -1182,9 +1181,6 @@ public: /** Mode selector for the jump instruction. */ enum jump_mode mode; -private: - /** Loop containing this break instruction. */ - ir_loop *loop; }; /**