From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 85045 invoked by alias); 12 Jun 2017 21:36:39 -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 85034 invoked by uid 89); 12 Jun 2017 21:36:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy= X-HELO: mail-qt0-f180.google.com Received: from mail-qt0-f180.google.com (HELO mail-qt0-f180.google.com) (209.85.216.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 12 Jun 2017 21:36:38 +0000 Received: by mail-qt0-f180.google.com with SMTP id u19so144658261qta.3 for ; Mon, 12 Jun 2017 14:36:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Z5C0KnJWIxCEcjR3v1vPvNRZDcd6RpgBYpA4UwLkhVg=; b=dJHvDOd9LRW/KwIzvKMnDIqf9ngyDWUMG5CEzZl6gULiDNmtvQivn011QMQ364xuDg H34K82E1ZNgXt53yeeFuRGUoUqhvJkvEjW4zICZXOB9M2mpnOTttIEeP0M+sH7BgfeqX Gdp9+20ryNNKsUyJ0RbBeQf6fcIwRg/pNjp/TaTPfAgYlGil0Sm05Qrdm58D9yLbQmpA Zt5xX8h+8l8TiqTxS3rsriNt7XUhedcTKMdgJd6/mFZ1JAS0IYqF2qgiTFmbvQlkm6Yy ijNwRdzXed73YxqA7EHK9bDAq+obSYYBbxFB/hBV+krL9V9PoHTX7zXN30RSmOIVMwii //FA== X-Gm-Message-State: AODbwcCwFVtq28cq+9+/wxfbGqjxXf3Y0VO018pq8Y1wG0G5eYchn+Ii 7f4Y5C1/qtxmA0ysk7a4fA== X-Received: by 10.237.61.110 with SMTP id h43mr68608130qtf.1.1497303400755; Mon, 12 Jun 2017 14:36:40 -0700 (PDT) Received: from [192.168.0.15] (97-126-79-179.tukw.qwest.net. [97.126.79.179]) by smtp.gmail.com with ESMTPSA id g34sm7583582qta.46.2017.06.12.14.36.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Jun 2017 14:36:39 -0700 (PDT) Subject: Re: [PATCH] warn on mem calls modifying objects of non-trivial types (PR 80560) To: Martin Sebor Cc: Pedro Alves , Gcc Patch List References: <3378da1e-189a-c997-8ec8-d3d4a9afbf98@gmail.com> <8d51dc8c-fe2d-e83d-7305-d272b9fb0247@redhat.com> <2743494a-9adf-7f57-6237-9932e3e53414@gmail.com> <4dd88543-6ddf-8b11-fd20-1bbc3a5db929@redhat.com> <5be18cb1-a30c-dcf3-8ca8-7aa8d7d64198@redhat.com> <03888b4f-99f3-8139-9fa9-e7a7d344b4a9@gmail.com> <5b1bbce4-7ccd-545a-0bad-020f34350728@gmail.com> <6c9c818e-9e50-a01d-815c-0899aab71911@gmail.com> <14813e10-1b91-ee08-7bff-bdbd2a30fa77@gmail.com> From: Jason Merrill Message-ID: Date: Mon, 12 Jun 2017 21:36:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg00852.txt.bz2 On 06/08/2017 01:25 PM, Martin Sebor wrote: > + if (TREE_CHAIN (DECL_ARGUMENTS (f))) > + { > + /* Skip constructors that aren't copy or move ctors. */ > + if (!copy_fn_p (f)) > + continue; > + > + cpy_or_move_ctor_p = true; > + } > + else > + { > + /* Constructor is a default ctor. */ > + cpy_or_move_ctor_p = false; > + } A default constructor can have parameters, so long as they have default arguments. You can use default_ctor_p to test for a default constructor. Jason