This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Attached is an updated patch that incorporates the changes requested by Brooks and the comments from Bernhard. This has been bootstrapped and regression tested successfully on i686-pc-linux-gnu. Same changelog as the original.
Ok to apply?
@@ -163,24 +163,27 @@ real_compnt_info;
enum rounding_mode { RND_ROUND, RND_TRUNC, RND_CEIL, RND_FLOOR };
-/* Evaluate the arguments to an intrinsic function. */
-/* FIXME: This function and its callers should be rewritten so that it's
- not necessary to cons up a list to hold the arguments. */
+/* Evaluate the arguments to an intrinsic function. The value
+ of NARGS may be less than the actual number of arguments in EXPR
+ to allow optional "KIND" arguments tothat are not included in the
+ generated code to be ignored. */
@@ -195,7 +198,8 @@ gfc_conv_intrinsic_function_args (gfc_se { gfc_conv_expr (&argse, e); gfc_conv_string_parameter (&argse); - args = gfc_chainon_list (args, argse.string_length); + gcc_assert (actual); + argarray[curr_arg++] = argse.string_length;
}
else
gfc_conv_expr_val (&argse, e);
@@ -210,9 +214,32 @@ gfc_conv_intrinsic_function_args (gfc_se
gfc_add_block_to_block (&se->pre, &argse.pre);
gfc_add_block_to_block (&se->post, &argse.post);
- args = gfc_chainon_list (args, argse.expr);
+ gcc_assert (actual);
+ argarray[curr_arg] = argse.expr;
Thanks! - Brooks
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |