From patchwork Wed Jan 3 15:58:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nathan Sidwell X-Patchwork-Id: 855071 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-470077-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="cx1vV8xS"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zBbFY2qNtz9s7G for ; Thu, 4 Jan 2018 02:58:40 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=dcgIbWTL+x/gt1+zUwS6Wv1WPOPAgid1p5Mtdn22MHQzhp6gTu glnVLEbnt6ZO7bmAAndMsLSe+2kgm47Jt6bk248IyOygbh4qnP+lVxiGT6v582aa BWLUxpFwg+OTmMNaPB2/jvyBPEQ1Gl8FBNulocStHPejczb+reKcOHd6A= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; s= default; bh=NgmbLe01WJGO+KNdOyZ77byOhnc=; b=cx1vV8xS5W+I2vVw+dmh favA87hy6SiZLkUUJR0dam6ZM76CyrqnGakMk+0tsBqz4dETxjBK2xgfkeN94RbL Fz+wIaNgMyDGwqRe9FrsuO5SscYw/l7WIq9y2gYAohx0+juVFA1kDETWFNaKALn8 pRQWipnIdj5TGLTOfgxFuY0= Received: (qmail 5245 invoked by alias); 3 Jan 2018 15:58:32 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 5229 invoked by uid 89); 3 Jan 2018 15:58:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.1 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=methodc, UD:method.c, method.c X-HELO: mail-yw0-f174.google.com Received: from mail-yw0-f174.google.com (HELO mail-yw0-f174.google.com) (209.85.161.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 03 Jan 2018 15:58:29 +0000 Received: by mail-yw0-f174.google.com with SMTP id r205so699684ywb.3 for ; Wed, 03 Jan 2018 07:58:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:to:from:subject:message-id:date :user-agent:mime-version:content-language; bh=/GqBvTQT/3Wb3K8jsnOaHacucTHT+AfoQmh4ee0eMJM=; b=aggx9K2rqyP+48wguSZnMt4uSCE1I4oXx6khorXICU7hZ72Cf2m3LtcA1b5QXJ1U8E Jlxag0xg6P/+vz4Pga6JrfqzfxCmJoUBHMgi4GIAKZBghJTUJu7UG2KdlOa4gV5XX7Ta VQKoJCYgvXsLAlXOu0670Bvu69SMqBy6H3ZqvOl1A+Yupies53Ek3Mn9xPwysHmpB1Kv hs8ghfvoAyhYv9HdzXMBxFfb17RWPFgrefnAfcAxDIiCP0Ujmq0MgluGjlowlsg8rgQb 6b/4RE0BTey67sJ5i3gzO9Kjcg3seIQUm4Ygsti+PK1lVbIT1ICcZ7xeQk4vzYXezBME ENvg== X-Gm-Message-State: AKGB3mITq9M+6Q1GSNm1UqxLvMNrOAI31hAu09mVLBB22zzft6yOj2l5 wiMZN6T38oSIhFi3BdZCFGc= X-Google-Smtp-Source: ACJfBotA0VtabJsvicmbaeeo18JZtAG9tGwunyzUqiw2W9tTX0oheNK/KQtvJC5izpxfGJ31oxWdLA== X-Received: by 10.129.73.202 with SMTP id w193mr1719803ywa.447.1514995108280; Wed, 03 Jan 2018 07:58:28 -0800 (PST) Received: from ?IPv6:2620:10d:c0a3:20fb:7500:e7fb:4a6f:2254? ([2620:10d:c091:200::2bbe]) by smtp.googlemail.com with ESMTPSA id z186sm504893ywb.20.2018.01.03.07.58.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jan 2018 07:58:27 -0800 (PST) To: GCC Patches From: Nathan Sidwell Subject: [PR c++/83667] Fix tree_dump ICE Message-ID: <9629705c-8fb0-925a-0119-86af248f9354@acm.org> Date: Wed, 3 Jan 2018 10:58:26 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 This fixes a tree dumping ICE involving static thunk fns. Copying the thunked-to fn's context suffices. nathan 2018-01-03 Nathan Sidwell PR c++/83667 * method.c (make_alias_for): Copy DECL_CONTEXT. PR c++/83667 * g++.dg/ipa/pr83667.C: New. Index: cp/method.c =================================================================== --- cp/method.c (revision 256175) +++ cp/method.c (working copy) @@ -206,7 +206,7 @@ make_alias_for (tree target, tree newid) TREE_CODE (target), newid, TREE_TYPE (target)); DECL_LANG_SPECIFIC (alias) = DECL_LANG_SPECIFIC (target); cxx_dup_lang_specific_decl (alias); - DECL_CONTEXT (alias) = NULL; + DECL_CONTEXT (alias) = DECL_CONTEXT (target); TREE_READONLY (alias) = TREE_READONLY (target); TREE_THIS_VOLATILE (alias) = TREE_THIS_VOLATILE (target); TREE_PUBLIC (alias) = 0; Index: testsuite/g++.dg/ipa/pr83667.C =================================================================== --- testsuite/g++.dg/ipa/pr83667.C (revision 0) +++ testsuite/g++.dg/ipa/pr83667.C (working copy) @@ -0,0 +1,23 @@ +/* { dg-options "-fdump-ipa-inline" } */ +// c++/83667 ICE dumping a static thunk + +struct a +{ + virtual ~a (); +}; + +struct b +{ + virtual void d (...); +}; + +struct c : a, b +{ + void d (...) + { + } +}; + +c c; + +// { dg-final { scan-ipa-dump "summary for void c::\\*.LTHUNK0" "inline" } }