Move parameter processing out of match_function_by_name

Eventually code that processes constant structure constructors will
need to use the processed list of parameters.
diff --git a/ast_function.cpp b/ast_function.cpp
index 07674ad..889a239 100644
--- a/ast_function.cpp
+++ b/ast_function.cpp
@@ -106,7 +106,7 @@
 
 static ir_rvalue *
 match_function_by_name(exec_list *instructions, const char *name,
-		       YYLTYPE *loc, exec_list *parameters,
+		       YYLTYPE *loc, exec_list *actual_parameters,
 		       struct _mesa_glsl_parse_state *state)
 {
    ir_function *f = state->symbols->get_function(name);
@@ -116,16 +116,10 @@
       return ir_call::get_error_instruction();
    }
 
-   /* Once we've determined that the function being called might exist,
-    * process the parameters.
+   /* Once we've determined that the function being called might exist, try
+    * to find an overload of the function that matches the parameters.
     */
-   exec_list actual_parameters;
-   process_parameters(instructions, &actual_parameters, parameters, state);
-
-   /* After processing the function's actual parameters, try to find an
-    * overload of the function that matches.
-    */
-   return process_call(instructions, f, loc, &actual_parameters, state);
+   return process_call(instructions, f, loc, actual_parameters, state);
 }
 
 
@@ -529,10 +523,14 @@
    } else {
       const ast_expression *id = subexpressions[0];
       YYLTYPE loc = id->get_location();
+      exec_list actual_parameters;
+
+      process_parameters(instructions, &actual_parameters, &this->expressions,
+			 state);
 
       return match_function_by_name(instructions, 
 				    id->primary_expression.identifier, & loc,
-				    &this->expressions, state);
+				    &actual_parameters, state);
    }
 
    return ir_call::get_error_instruction();