summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-04-01 19:00:29 -1000
committerIan Romanick <ian.d.romanick@intel.com>2010-04-02 11:22:41 -0700
commit5150c567a0bf082d93f25ba7e29d5573c9dffb8b (patch)
tree1e5ce12094aa40ad2cf521dcb0e4015f7aa8a172
parentd251b92f8d32b28a91085d5b1f557c1f4756a2f2 (diff)
Test for the type being different in parameter_lists_match.
Fixes CorrectFuncOverload.frag.
-rw-r--r--ast_to_hir.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/ast_to_hir.cpp b/ast_to_hir.cpp
index 456271d..8ed56d5 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();