From patchwork Tue Feb 6 15:43:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aldy Hernandez X-Patchwork-Id: 869861 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-472674-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="k9mlOZFV"; 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 3zbTJQ70XTz9s7v for ; Wed, 7 Feb 2018 02:43:34 +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:cc :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=uSb0TzGBwfrLsWuulRRvfLdhOVS1eV7jmn83qElMu8+RxNyN5K 2rn4i05/j0H3agvc/ECv/K1SWFaW7CsF+PntC0OeggWwZVhX9wxH0vx0bbSCMuB0 Dff955GmXv8M1WnfQFe/cGb+WTzSn2UWqhOMN1n5HkFZrG32dDqapR13c= 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:cc :from:subject:message-id:date:mime-version:content-type; s= default; bh=q2XPTJc4IyQ/uR8Wwl/aGn29GtQ=; b=k9mlOZFV9M2VO03uwFGu JGDcnmUl98lIwjHaH+6JKYAnFYCTqPxyuS86HMs/qndzjZnpMZrAFDzAYY3OgI/s ES4Cbwx1tbBJ/1KdBpr0AJBEZNTYI/Wo+kwHYrJiRxc0WNUSEBNUm6GxyHMxgEB5 JSoIru4I2pyQhOoplvdHZOk= Received: (qmail 62081 invoked by alias); 6 Feb 2018 15:43:26 -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 59154 invoked by uid 89); 6 Feb 2018 15:43:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=AWL, 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=H*MI:0165, H*M:0165 X-HELO: mail-wm0-f54.google.com Received: from mail-wm0-f54.google.com (HELO mail-wm0-f54.google.com) (74.125.82.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 06 Feb 2018 15:43:24 +0000 Received: by mail-wm0-f54.google.com with SMTP id 143so4577075wma.5 for ; Tue, 06 Feb 2018 07:43:24 -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:cc:from:subject:message-id:date:user-agent :mime-version:content-language; bh=6Jj0ONJ4ajxfXt51v2mIpVxajieZfjDJTGvNB4hXHUE=; b=E0W8QngP5WkAyUVDA1R+rj3LncXbFi+kMDJrvY2GqSOUfQ+hmEks+No4UgC3yDWJsz y8opxPKUboOn3YZIwD3fCEJ/EQftEaWmNL3rLdHUpaghSsuLq3hbh8OqijwJyxJXs5M2 fly8lMXxzU9DWdi2arHMag1zhfeLBpUV+9Mp40Y5CUx6x3Y1u9+mOn10Mp48d96NcwXf wryTs21c/P31iVQWHzbPYGOJvQ5rRIpetDOzKHOpz6mEMnLi1dcnukMBywBBjc9ybSXZ nHn588HW+9JeOONP9E+xU0zs3DDbpnOLbUmVgRcWU3aA7njDZeS4rATkGhFF29PmT+WJ Il6g== X-Gm-Message-State: APf1xPBVURA89P1LH1s5rdO1kxipMHTBmzgpZHsBWrx98kT4PZKsyoko 8PGi8a47V08Cxx3p27kkEyZl3g== X-Google-Smtp-Source: AH8x226yBksyRmyP3jIPCVJL+D0bjdVW5DHBFUu+UIFn7VODc1MmEv+kFwJTJ6RSy2A7HzC9vPHSxw== X-Received: by 10.28.137.85 with SMTP id l82mr2273167wmd.109.1517931802815; Tue, 06 Feb 2018 07:43:22 -0800 (PST) Received: from abulafia.quesejoda.com (55.red-88-8-76.dynamicip.rima-tde.net. [88.8.76.55]) by smtp.gmail.com with ESMTPSA id k3sm22981049wmk.3.2018.02.06.07.43.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Feb 2018 07:43:22 -0800 (PST) To: gcc-patches Cc: Jakub Jelinek From: Aldy Hernandez Subject: PR tree-optimization/84225: do not pass non-integers to operation_no_trapping_overflow Message-ID: Date: Tue, 6 Feb 2018 10:43:21 -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 In this PR we are ICEing here: bool operation_no_trapping_overflow (tree type, enum tree_code code) { gcc_checking_assert (ANY_INTEGRAL_TYPE_P (type)); ...because we are being passed a pointer type from find_trapping_overflow. Fixed by avoiding passing non-integrals from find_trapping_overflow. Pre-approved by Jakub. Committed. Tested on x86-64 Linux. gcc/ PR tree-optimization/84225 * tree-eh.c (find_trapping_overflow): Only call operation_no_trapping_overflow when ANY_INTEGRAL_TYPE_P. diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 75385f7b53f..9862ed9fdda 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -2729,6 +2729,7 @@ static tree find_trapping_overflow (tree *tp, int *walk_subtrees, void *data) { if (EXPR_P (*tp) + && ANY_INTEGRAL_TYPE_P (TREE_TYPE (*tp)) && !operation_no_trapping_overflow (TREE_TYPE (*tp), TREE_CODE (*tp))) return *tp; if (IS_TYPE_OR_DECL_P (*tp)