diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2010-04-12 14:25:41 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-04-28 18:14:54 -0700 |
commit | 46ef8f19d76b33446c2ce6e7f1379bd348fe7fe4 (patch) | |
tree | c9a0b797ba9eb69b16cb609517fb053fd855c56a /ir_reader.cpp | |
parent | 3ea0582803ea3070a1856455137daef9ddd86cb9 (diff) |
ir_reader: rvalues are instructions too!
Diffstat (limited to 'ir_reader.cpp')
-rw-r--r-- | ir_reader.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ir_reader.cpp b/ir_reader.cpp index 0c41fb1762..9eadce2119 100644 --- a/ir_reader.cpp +++ b/ir_reader.cpp @@ -177,15 +177,17 @@ read_instruction(_mesa_glsl_parse_state *st, s_expression *expr) } ir_instruction *inst = NULL; - if (strcmp(tag->value(), "declare") == 0) + if (strcmp(tag->value(), "declare") == 0) { inst = read_declaration(st, list); - else if (strcmp(tag->value(), "if") == 0) + } else if (strcmp(tag->value(), "if") == 0) { inst = read_if(st, list); - else if (strcmp(tag->value(), "return") == 0) + } else if (strcmp(tag->value(), "return") == 0) { inst = read_return(st, list); - else - ir_read_error(expr, "unrecognized instruction tag: %s", tag->value()); - + } else { + inst = read_rvalue(st, list); + if (inst == NULL) + ir_read_error(list, "when reading instruction"); + } return inst; } |