On Thu, 12 Mar 2015, Marek Polacek wrote:

> 2015-03-12  Marek Polacek  <pola...@redhat.com>
> 
>       PR c/65345
>       * c-decl.c (set_labels_context_r): New function.
>       (store_parm_decls): Call it via walk_tree_without_duplicates.
>       * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
>       instead of create_tmp_var.  Build TARGET_EXPR instead of
>       COMPOUND_EXPR.
>       (build_atomic_assign): Use create_tmp_var_raw instead of
>       create_tmp_var.  Build TARGET_EXPRs instead of MODIFY_EXPR.
> 
>       * gcc.dg/pr65345-1.c: New test.
>       * gcc.dg/pr65345-2.c: New test.

OK for stage 1, but I think you may need a further patch that fixes the 
TARGET_ATOMIC_ASSIGN_EXPAND_FENV implementations to use create_tmp_var_raw 
and TARGET_EXPR as well, along with adding tests for floating-point 
compound assignment / increment / decrement in the problem contexts.  A 
backport to GCC 5 branch could be considered after a while on trunk.

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to