From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 66613 invoked by alias); 20 Mar 2015 17:12:26 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 66599 invoked by uid 89); 20 Mar 2015 17:12:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 20 Mar 2015 17:12:24 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-03.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1YZ0T6-0006Gd-CI from joseph_myers@mentor.com ; Fri, 20 Mar 2015 10:12:20 -0700 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-03.mgc.mentorg.com (137.202.0.108) with Microsoft SMTP Server id 14.3.224.2; Fri, 20 Mar 2015 17:12:18 +0000 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.82) (envelope-from ) id 1YZ0T3-0005SU-73; Fri, 20 Mar 2015 17:12:17 +0000 Date: Fri, 20 Mar 2015 17:12:00 -0000 From: Joseph Myers To: Marek Polacek CC: GCC Patches Subject: Re: [C PATCH] Fix up file-scope _Atomic expansion (PR c/65345) In-Reply-To: <20150312173748.GQ26802@redhat.com> Message-ID: References: <20150312173748.GQ26802@redhat.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-SW-Source: 2015-03/txt/msg01094.txt.bz2 On Thu, 12 Mar 2015, Marek Polacek wrote: > 2015-03-12 Marek Polacek > > 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 joseph@codesourcery.com