linker: Use foreach_list_safe in move_non_declarations
The node being processed may be removed from the list and put in a
different list. Not using the safe version caused list processing to
change streams after moving a node.
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index d46744e..72b83ff 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -543,7 +543,7 @@
move_non_declarations(exec_list *instructions, exec_node *last,
bool make_copies, gl_shader *target)
{
- foreach_list(node, instructions) {
+ foreach_list_safe(node, instructions) {
ir_instruction *inst = (ir_instruction *) node;
if (inst->as_variable() || inst->as_function())