Commit 0ae6b30c authored by Vinson Lee's avatar Vinson Lee

r300/compiler: Silence uninitialized variable warning.

The variable loops would be used uninitialized if it ever processed a
RC_OPCODE_ENDLOOP case first.

This patch initalizes the loops variable to NULL and adds an assert at
the RC_OPCODE_ENDLOOP case that loops isn't NULL.

Silence the following GCC warning.
r3xx_vertprog.c: In function 'translate_vertex_program':
r3xx_vertprog.c:469: warning: 'loops' may be used uninitialized in this function
parent 19f9340e
......@@ -466,7 +466,7 @@ static void translate_vertex_program(struct r300_vertex_program_compiler * compi
{
struct rc_instruction *rci;
struct loop * loops;
struct loop * loops = NULL;
int current_loop_depth = 0;
int loops_reserved = 0;
......@@ -559,10 +559,16 @@ static void translate_vertex_program(struct r300_vertex_program_compiler * compi
}
case RC_OPCODE_ENDLOOP:
{
struct loop * l = &loops[current_loop_depth - 1];
unsigned int act_addr = l->BgnLoop - 1;
unsigned int last_addr = (compiler->code->length / 4) - 1;
unsigned int ret_addr = l->BgnLoop;
struct loop * l;
unsigned int act_addr;
unsigned int last_addr;
unsigned int ret_addr;
assert(loops);
l = &loops[current_loop_depth - 1];
act_addr = l->BgnLoop - 1;
last_addr = (compiler->code->length / 4) - 1;
ret_addr = l->BgnLoop;
if (loops_reserved >= R300_VS_MAX_FC_OPS) {
rc_error(&compiler->Base,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment