Do simple constant folding while processing function call parameters
diff --git a/ast_function.cpp b/ast_function.cpp
index f0c1f04..b0700be 100644
--- a/ast_function.cpp
+++ b/ast_function.cpp
@@ -36,7 +36,11 @@
 
    foreach_list (n, parameters) {
       ast_node *const ast = exec_node_data(ast_node, n, link);
-      ir_rvalue *const result = ast->hir(instructions, state);
+      ir_rvalue *result = ast->hir(instructions, state);
+
+      ir_constant *const constant = result->constant_expression_value();
+      if (constant != NULL)
+	 result = constant;
 
       actual_parameters->push_tail(result);
       count++;