------- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-06-07 
12:16 -------
This worked in 3.4.x because we added a conversion operator:

tree_transform <N_Return_Statement>:

          expand_return (build_binary_op (MODIFY_EXPR, NULL_TREE,
                                          DECL_RESULT (current_function_decl),
                                          gnu_ret_val));


In 4.x we directly build a MODIFY_EXPR:

gnat_to_gnu <N_Return_Statement>:

        if (gnu_ret_val)
          gnu_result = build2 (MODIFY_EXPR, TREE_TYPE (gnu_ret_val),
                               gnu_lhs, gnu_ret_val);

Reinstating build_binary_op yields an ICE in the gimplifier instead, so either
build_binary_op or the gimplifier would probably need to be tweaked a bit.
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21937

Reply via email to