From: Eric Botcazou Date: Sun, 20 Jun 2010 09:09:21 +0000 (+0000) Subject: trans.c (Subprogram_Body_to_gnu): Use while instead of for loop. X-Git-Tag: releases/gcc-4.6.0~6319 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1d63e3de09ef2a47b63f29db8da5289404cec4d1;p=thirdparty%2Fgcc.git trans.c (Subprogram_Body_to_gnu): Use while instead of for loop. * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of for loop. Call build_constructor_from_list directly in the CICO case. From-SVN: r161046 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 965e7b2f4508..b769e6ffd134 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2010-06-20 Eric Botcazou + + * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of + for loop. Call build_constructor_from_list directly in the CICO case. + 2010-06-18 Ed Schonberg * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 4546c1849499..aec94b03c4c8 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -2462,9 +2462,8 @@ Subprogram_Body_to_gnu (Node_Id gnat_node) { /* Skip any entries that have been already filled in; they must correspond to In Out parameters. */ - for (; gnu_cico_list && TREE_VALUE (gnu_cico_list); - gnu_cico_list = TREE_CHAIN (gnu_cico_list)) - ; + while (gnu_cico_list && TREE_VALUE (gnu_cico_list)) + gnu_cico_list = TREE_CHAIN (gnu_cico_list); /* Do any needed references for padded types. */ TREE_VALUE (gnu_cico_list) @@ -2546,8 +2545,8 @@ Subprogram_Body_to_gnu (Node_Id gnat_node) if (list_length (gnu_cico_list) == 1) gnu_retval = TREE_VALUE (gnu_cico_list); else - gnu_retval = gnat_build_constructor (TREE_TYPE (gnu_subprog_type), - gnu_cico_list); + gnu_retval = build_constructor_from_list (TREE_TYPE (gnu_subprog_type), + gnu_cico_list); add_stmt_with_node (build_return_expr (gnu_result_decl, gnu_retval), End_Label (Handled_Statement_Sequence (gnat_node)));