[Mesa-dev] [PATCH] glsl: Remove unused ir_loop_jump::loop pointer.
Kenneth Graunke
kenneth at whitecape.org
Sun Jul 1 16:33:30 PDT 2012
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
Cc: Ian Romanick <ian.d.romanick at intel.com>
Cc: Eric Anholt <eric at anholt.net>
Cc: thakis at chromium.org
---
src/glsl/ir.h | 4 ----
1 file changed, 4 deletions(-)
NAK on Ian's patch. I'd rather just eliminate the garbage pointer; if we
want a pointer to the containing loop, we can go ahead and add that properly
in the future.
This patch replaces it.
diff --git a/src/glsl/ir.h b/src/glsl/ir.h
index 014f363..992c654 100644
--- a/src/glsl/ir.h
+++ b/src/glsl/ir.h
@@ -1245,7 +1245,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;
@@ -1269,9 +1268,6 @@ public:
/** Mode selector for the jump instruction. */
enum jump_mode mode;
-private:
- /** Loop containing this break instruction. */
- ir_loop *loop;
};
/**
--
1.7.10.4
More information about the mesa-dev
mailing list