From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7269 invoked by alias); 10 Dec 2015 23:55:17 -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 7247 invoked by uid 89); 10 Dec 2015 23:55:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mail-qg0-f44.google.com Received: from mail-qg0-f44.google.com (HELO mail-qg0-f44.google.com) (209.85.192.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 10 Dec 2015 23:55:15 +0000 Received: by qgcc31 with SMTP id c31so171894616qgc.3 for ; Thu, 10 Dec 2015 15:55:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=ImuAawkg6gZr2LeCWpHV+hVsvXQRY9WP1LmUL+u7idU=; b=JUekt7OoJiDMc0XISPLwKdNmNhTZHPEIyCUvoXdVmchc28JB22OLliomBV/zTEymL4 1VJ1vJkYyGiA9QuODCpuOtnTucPARPwjqX3tAGaTuHUlwzHgfEg16ghEFighrcN0Al79 3LK0nYMWsz9zaikL0abPUenLpV0BOfvs9Xoab0PYbN+XdFwGMeJ2/NRLuckDGpWcVius HoL1GogUq4QV6nUs3dkrIQ905HW9Je3naIU+veKYZN80xaBwj2LHEPDH6jW8g+JxrDjb E5ItRiSYuOymF+Ut/LdzPLQJSy54h0f77hIhYbCsMThPKHNa6dZH93BCopzx0x016wuR 8gug== X-Gm-Message-State: ALoCoQkUYbchvIQVJfxlNfNV+Sxy0wlnc5dyODxOxr/IGDWpdBzUkbdtf5oEqpLVnf4BZ9n9Fmzy8ztOIj7urgPUQTByF1lzsA== X-Received: by 10.140.167.7 with SMTP id n7mr10545287qhn.41.1449791713688; Thu, 10 Dec 2015 15:55:13 -0800 (PST) Received: from localhost.localdomain (ool-4353a8be.dyn.optonline.net. [67.83.168.190]) by smtp.gmail.com with ESMTPSA id o47sm7045948qge.38.2015.12.10.15.55.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 10 Dec 2015 15:55:12 -0800 (PST) From: Patrick Palka To: gcc-patches@gcc.gnu.org Cc: jason@redhat.com, Patrick Palka Subject: [PATCH] Fix PR c++/68831 (superfluous -Waddress warning for C++ delete) Date: Thu, 10 Dec 2015 23:55:00 -0000 Message-Id: <1449791666-13298-1-git-send-email-patrick@parcs.ath.cx> X-SW-Source: 2015-12/txt/msg01201.txt.bz2 Is this OK to commit if bootstrap + regtest on x86_64 succeeds? gcc/cp/ChangeLog: PR c++/68831 * init.c (build_delete): Use a warning sentinel to disable -Waddress warnings when building the conditional that tests if the operand is NULL. gcc/testsuite/ChangeLog: PR c++/68831 * g++.dg/pr68831.C: New test. --- gcc/cp/init.c | 1 + gcc/testsuite/g++.dg/pr68831.C | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 gcc/testsuite/g++.dg/pr68831.C diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 5ecf9fb..2fffc61 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -4439,6 +4439,7 @@ build_delete (tree otype, tree addr, special_function_kind auto_delete, else { /* Handle deleting a null pointer. */ + warning_sentinel s (warn_address); ifexp = fold (cp_build_binary_op (input_location, NE_EXPR, addr, nullptr_node, complain)); diff --git a/gcc/testsuite/g++.dg/pr68831.C b/gcc/testsuite/g++.dg/pr68831.C new file mode 100644 index 0000000..8d32819 --- /dev/null +++ b/gcc/testsuite/g++.dg/pr68831.C @@ -0,0 +1,10 @@ +// PR c++/68831 +// { dg-options "-Waddress" } + +class DenseMap { +public: + ~DenseMap(); +}; +extern const DenseMap &GCMap; +void foo() { delete &GCMap; } + -- 2.6.4.491.gda30757.dirty