diff options
author | Eric Anholt <eric@anholt.net> | 2010-04-01 19:00:29 -1000 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-04-02 11:22:41 -0700 |
commit | 5150c567a0bf082d93f25ba7e29d5573c9dffb8b (patch) | |
tree | 1e5ce12094aa40ad2cf521dcb0e4015f7aa8a172 /ast_to_hir.cpp | |
parent | d251b92f8d32b28a91085d5b1f557c1f4756a2f2 (diff) |
Test for the type being different in parameter_lists_match.
Fixes CorrectFuncOverload.frag.
Diffstat (limited to 'ast_to_hir.cpp')
-rw-r--r-- | ast_to_hir.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ast_to_hir.cpp b/ast_to_hir.cpp index 456271d300..8ed56d5800 100644 --- a/ast_to_hir.cpp +++ b/ast_to_hir.cpp @@ -1644,6 +1644,9 @@ parameter_lists_match(exec_list *list_a, exec_list *list_b) exec_list_iterator iter_b = list_b->iterator(); while (iter_a.has_next()) { + ir_variable *a = (ir_variable *)iter_a.get(); + ir_variable *b = (ir_variable *)iter_b.get(); + /* If all of the parameters from the other parameter list have been * exhausted, the lists have different length and, by definition, * do not match. @@ -1654,8 +1657,8 @@ parameter_lists_match(exec_list *list_a, exec_list *list_b) /* If the types of the parameters do not match, the parameters lists * are different. */ - /* FINISHME */ - + if (a->type != b->type) + return false; iter_a.next(); iter_b.next(); |