summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2010-03-31 16:40:26 -0700
committerIan Romanick <ian.d.romanick@intel.com>2010-03-31 16:40:26 -0700
commit95cd6cc195f4652378d7ecf614c6e1c568311a04 (patch)
tree16a5b99f33bdc7e4ac4335cf660673dac38cc27f
parent6a15d5b514b703ff8dd024f96ffbcb68484a954e (diff)
Add ir_function::iterator to iterate over function signatures
-rw-r--r--ast_to_hir.cpp2
-rw-r--r--ir.h8
2 files changed, 9 insertions, 1 deletions
diff --git a/ast_to_hir.cpp b/ast_to_hir.cpp
index 78c92822e3..e6031ae004 100644
--- a/ast_to_hir.cpp
+++ b/ast_to_hir.cpp
@@ -1475,7 +1475,7 @@ ast_function_definition::hir(exec_list *instructions,
const char *const name = this->prototype->identifier;
f = state->symbols->get_function(name);
if (f != NULL) {
- foreach_iter(exec_list_iterator, iter, f->signatures) {
+ foreach_iter(exec_list_iterator, iter, *f) {
signature = (struct ir_function_signature *) iter.get();
/* Compare the parameter list of the function being defined to the
diff --git a/ir.h b/ir.h
index 2d2da1df76..3322ea9640 100644
--- a/ir.h
+++ b/ir.h
@@ -188,6 +188,14 @@ public:
}
/**
+ * Get an iterator for the set of function signatures
+ */
+ exec_list_iterator iterator()
+ {
+ return signatures.iterator();
+ }
+
+ /**
* Find a signature that matches a set of actual parameters.
*/
const ir_function_signature *matching_signature(exec_list *actual_param);