From patchwork Tue Jan 30 18:29:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aldy Hernandez X-Patchwork-Id: 867626 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-472303-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="UFaUYZos"; 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 3zWFK045FYz9s72 for ; Wed, 31 Jan 2018 05:29:23 +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=Nd1x42Z4gih6JeX67msA/zPr0dKwbonzVRkcWuV4CsYKL3WgZy jiwwXtzUUM8CEaGKccPUNL2ARld96V+FT6EIRIc5+cAzfM1ElqcYz3GgPQCjXwPp SkGkCA5mVbOSIqk9A7Ope/rKuYygofKkmORCMwdb6xis+1PAa1REpHWMA= 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=vOGK4BgsDXYTZzDWBpK+/Qlw/cg=; b=UFaUYZosfdaatGi1nuDE IObVZ800G36wMfqir+hz29FRUd18XyQAWxyqT7C6i4T6E1aNutfCFnwuY/17Ar+7 /EgT/NnJmzxpJtu3Ds0Fs+W77GSMQi3llhjHJPSy6Qg196TGQmYqwBeG09sbBdTd jpM7EWtyZTwAP53QtDqFk50= Received: (qmail 12269 invoked by alias); 30 Jan 2018 18:29:15 -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 11642 invoked by uid 89); 30 Jan 2018 18:29:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy= X-HELO: mail-oi0-f41.google.com Received: from mail-oi0-f41.google.com (HELO mail-oi0-f41.google.com) (209.85.218.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 30 Jan 2018 18:29:14 +0000 Received: by mail-oi0-f41.google.com with SMTP id j15so5384977oii.5 for ; Tue, 30 Jan 2018 10:29:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=zxkZTwrTotNPsyMK4Z7CzuvFrvFteZJnraPQhWH6ETE=; b=ksfvcODULlRPJBrkpPfCghAP7NrzvaoNJQgOyCEtdTK20yyz9aUfPxzc255GRUDmRq GOLPKCENdhTNZxT7MRVze6hL4/bLE6ORTkIX1q59cJ6SkqUD4gH3vRDi7FJMndDX5/Ts bb3YTq5yeUeYujROC2OdDybDhLveywlzZ1O0WAyxpEeST3K5C46qyHiONdrABTr0H5R6 zkSvSb1vPjE/eXs8B6e9mJUViS4BhqPJa4W5cBYe67wVW94MnCr8X2xhM2oUBAfchOyG 2LGQ2Edbx21qUJJQk4gq+KqyYBYGdhbSct1MNzNq8D2K2dIl8wHjsiU18ap6JlEtrxL8 5/yQ== X-Gm-Message-State: AKwxytcEqGxCQ2iPhq0qb5caJ57Oem9h4qqt38Me0riftme2JdkfPLWo fSjIgIKlj1Zw95/BKRm108lPWy76sDdBIQ== X-Google-Smtp-Source: AH8x226OvjiTjJK8AQiwiRiu+PR5X1PzLWZzIe3c3Iv4K68bBstA2k67h/9KWT0bL20qZfWNrcmXkg== X-Received: by 10.202.89.137 with SMTP id n131mr21793694oib.182.1517336952437; Tue, 30 Jan 2018 10:29:12 -0800 (PST) Received: from abulafia.quesejoda.com (173-139-13-182.pools.spcsdns.net. [173.139.13.182]) by smtp.gmail.com with ESMTPSA id x4sm4115901oie.41.2018.01.30.10.29.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Jan 2018 10:29:11 -0800 (PST) To: Richard Biener , gcc-patches From: Aldy Hernandez Subject: [PR lto/84105] handle TYPE_IDENTIFIERs for FUNCTION_TYPEs in the gimple pretty printer Message-ID: Date: Tue, 30 Jan 2018 13:29:10 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 X-IsSubscribed: yes Hi! As discussed in the PR, the ICE here happens in dump_generic_node: case FUNCTION_TYPE: case METHOD_TYPE: ... if (TYPE_NAME (node) && DECL_NAME (TYPE_NAME (node))) dump_decl_name (pp, TYPE_NAME (node), flags); (gdb) print node $21 = (gdb) print node.type_common.name $22 = TYPE_NAME is an IDENTIFIER_NODE, whereas we're expecting a DECL_P, and bad things happen. OK pending tests? gcc/ PR lto/84105 * tree-pretty-print.c (dump_generic_node): Handle a TYPE_NAME with an IDENTIFIER_NODE for FUNCTION_TYPE's. diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index 54a8dfa3b6f..73eb27c8e8f 100644 --- a/gcc/tree-pretty-print.c +++ b/gcc/tree-pretty-print.c @@ -1822,7 +1822,9 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags, pp_string (pp, ""); pp_colon_colon (pp); } - if (TYPE_NAME (node) && DECL_NAME (TYPE_NAME (node))) + if (TYPE_IDENTIFIER (node)) + dump_generic_node (pp, TYPE_NAME (node), spc, flags, false); + else if (TYPE_NAME (node) && DECL_NAME (TYPE_NAME (node))) dump_decl_name (pp, TYPE_NAME (node), flags); else if (flags & TDF_NOUID) pp_printf (pp, "");