[{"id":1761223,"web_url":"http://patchwork.ozlabs.org/comment/1761223/","msgid":"<CADzB+2=FJCZpU9xbjJ_H7MC76KVyyUaR8h94iV+g=AYj4epeBQ@mail.gmail.com>","list_archive_url":null,"date":"2017-08-31T17:48:49","subject":"Re: [PATCH] Fix PR82054","submitter":{"id":4337,"url":"http://patchwork.ozlabs.org/api/people/4337/","name":"Jason Merrill","email":"jason@redhat.com"},"content":"OK.\n\nOn Thu, Aug 31, 2017 at 6:15 AM, Richard Biener <rguenther@suse.de> wrote:\n>\n> I am testing the following patch to fix another fallout of the\n> assert that we dont' add duplicated dwarf attributes.\n>\n> LTO bootstrapped / bootstrapped on x86_64-unknown-linux-gnu, testing\n> in progress.\n>\n> Richard.\n>\n> 2017-08-31  Richard Biener  <rguenther@suse.de>\n>\n>         PR middle-end/82054\n>         * dwarf2out.c (dwarf2out_early_global_decl): Process each\n>         function only once.\n>\n>         * g++.dg/gomp/pr82054.C: New testcase.\n>\n> Index: gcc/dwarf2out.c\n> ===================================================================\n> --- gcc/dwarf2out.c     (revision 251553)\n> +++ gcc/dwarf2out.c     (working copy)\n> @@ -25492,9 +25492,10 @@ dwarf2out_early_global_decl (tree decl)\n>    if (TREE_CODE (decl) != TYPE_DECL\n>        && TREE_CODE (decl) != PARM_DECL)\n>      {\n> -      tree save_fndecl = current_function_decl;\n>        if (TREE_CODE (decl) == FUNCTION_DECL)\n>         {\n> +         tree save_fndecl = current_function_decl;\n> +\n>           /* For nested functions, make sure we have DIEs for the parents first\n>              so that all nested DIEs are generated at the proper scope in the\n>              first shot.  */\n> @@ -25521,11 +25522,19 @@ dwarf2out_early_global_decl (tree decl)\n>               dwarf2out_decl (origin);\n>             }\n>\n> -         current_function_decl = decl;\n> +         /* Emit the DIE for decl but avoid doing that multiple times.  */\n> +         dw_die_ref old_die;\n> +         if ((old_die = lookup_decl_die (decl)) == NULL\n> +             || is_declaration_die (old_die))\n> +           {\n> +             current_function_decl = decl;\n> +             dwarf2out_decl (decl);\n> +           }\n> +\n> +         current_function_decl = save_fndecl;\n>         }\n> -      dwarf2out_decl (decl);\n> -      if (TREE_CODE (decl) == FUNCTION_DECL)\n> -       current_function_decl = save_fndecl;\n> +      else\n> +       dwarf2out_decl (decl);\n>      }\n>    symtab->global_info_ready = save;\n>  }\n> Index: gcc/testsuite/g++.dg/gomp/pr82054.C\n> ===================================================================\n> --- gcc/testsuite/g++.dg/gomp/pr82054.C (revision 0)\n> +++ gcc/testsuite/g++.dg/gomp/pr82054.C (working copy)\n> @@ -0,0 +1,13 @@\n> +// { dg-do compile }\n> +// { dg-additional-options \"-g\" }\n> +\n> +class a\n> +{\n> +  bool b ();\n> +};\n> +bool\n> +a::b ()\n> +{\n> +#pragma omp parallel\n> +  ;\n> +}","headers":{"Return-Path":"<gcc-patches-return-461223-incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list gcc-patches@gcc.gnu.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=gcc-patches-return-461223-incoming=patchwork.ozlabs.org@gcc.gnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org\n\theader.b=\"BrrL7o3e\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjqdF2Qd5z9s7c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 03:49:37 +1000 (AEST)","(qmail 64175 invoked by alias); 31 Aug 2017 17:49:22 -0000","(qmail 64141 invoked by uid 89); 31 Aug 2017 17:49:22 -0000","from mail-yw0-f171.google.com (HELO mail-yw0-f171.google.com)\n\t(209.85.161.171) by sourceware.org\n\t(qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tThu, 31 Aug 2017 17:49:12 +0000","by mail-yw0-f171.google.com with SMTP id t188so1784295ywb.1 for\n\t<gcc-patches@gcc.gnu.org>; Thu, 31 Aug 2017 10:49:11 -0700 (PDT)","by 10.129.167.130 with HTTP; Thu, 31 Aug 2017 10:48:49 -0700 (PDT)"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender\n\t:mime-version:in-reply-to:references:from:date:message-id\n\t:subject:to:cc:content-type; q=dns; s=default; b=cSodnnRzX7BZdsO\n\thOCkpoFzPbYmpnUipXzXQ9WzyOzA/VJXZ84XBnq1iyBNr5ylEOXGBumdU0kAhQbD\n\tfb1cDs3S1Pju33KSRcBgDgmJ/Di+9kW/fIVAh5R3E4TEgZjTzgcrPhldTUsaPX4j\n\tv4ti/EVpPQGki7lXlirlQhG7bd1g=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender\n\t:mime-version:in-reply-to:references:from:date:message-id\n\t:subject:to:cc:content-type; s=default; bh=SMW2TeDRnlQFQUxY78vWZ\n\tVBdqg8=; b=BrrL7o3eS3F70vgEM8cvU8Us25vTG/cASqYSwK/euln5+cw06EWPy\n\tV2vd/+8vyqJ8IGuvb7GW5eVpSIwvpfK8w2VrOYNU5AQLcHLHhu7R0W36eSw+tAXU\n\tjuGLU/LZhvE2atOie6HAjOCf1Mhcn6Jeh6ljJBQl3Ui6m0h64EK3i8=","Mailing-List":"contact gcc-patches-help@gcc.gnu.org; run by ezmlm","Precedence":"bulk","List-Id":"<gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<mailto:gcc-patches-unsubscribe-incoming=patchwork.ozlabs.org@gcc.gnu.org>","List-Archive":"<http://gcc.gnu.org/ml/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-help@gcc.gnu.org>","Sender":"gcc-patches-owner@gcc.gnu.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-9.7 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS,\n\tRCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM autolearn=ham version=3.3.2 spammy=","X-HELO":"mail-yw0-f171.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net;\n\ts=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=T1Gp4gY09kdEX9XvvNsIiTUHHbgdE9niX3U6gooABTI=;\n\tb=Us2WtrzcaL3mCxvqQdJgyuBv+vtZsipviE89Ixe1Eeaf5B7dXn+p5k+I9TDwGib4KU\n\tfJ728w0ghBu4q4PPHtV2JtdeYemrPheD0SzlZzRFsM6jtBvnMLOQmRdqaUZ8xxsSyX0q\n\tMsCZIK4CnNBgBY5BRQN3q4Orlrj4H8XJTyWZ5/mk/sRJRGhHhIr43FHhuJLgoRXUffnW\n\tFmLUAeoTRkGAGDlPtb7Nk6IoB2PCvAqLhreCrnMZ5ZNln1o6PnMDd7oWUMMgcPv0+Kd0\n\twXW7nYbrGrxDvgV+xLkj6DdAmbZ2wAZPB+xOOG2bX8d0j0N6uM6dONFMrZkmuOIMQPaY\n\tHbcw==","X-Gm-Message-State":"AHYfb5hkaJmOXy4yLjw+G4H2bhWOGs0AsKgo5NeS2B2NJ8qUJZQvvaf7\tjASLYuaYCgdNH1s+sZZoeKu4GQf0uLGd5hI=","X-Google-Smtp-Source":"ADKCNb5iHiVNce8N+C85pVtO9ID6woscCHO1KTo2VQdF6y+yRnHMxT9OZRF8OrJZYXnl2WGeqQw/P/5ZYZx8dp0roVI=","X-Received":"by 10.37.219.2 with SMTP id g2mr5455241ybf.235.1504201750191;\n\tThu, 31 Aug 2017 10:49:10 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<alpine.LSU.2.20.1708311215030.14191@zhemvz.fhfr.qr>","References":"<alpine.LSU.2.20.1708311215030.14191@zhemvz.fhfr.qr>","From":"Jason Merrill <jason@redhat.com>","Date":"Thu, 31 Aug 2017 13:48:49 -0400","Message-ID":"<CADzB+2=FJCZpU9xbjJ_H7MC76KVyyUaR8h94iV+g=AYj4epeBQ@mail.gmail.com>","Subject":"Re: [PATCH] Fix PR82054","To":"Richard Biener <rguenther@suse.de>","Cc":"gcc-patches List <gcc-patches@gcc.gnu.org>","Content-Type":"text/plain; charset=\"UTF-8\"","X-IsSubscribed":"yes"}}]