From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oo1-xc2d.google.com (mail-oo1-xc2d.google.com [IPv6:2607:f8b0:4864:20::c2d]) by sourceware.org (Postfix) with ESMTPS id AC7BA3857C68 for ; Fri, 25 Jun 2021 01:38:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AC7BA3857C68 Received: by mail-oo1-xc2d.google.com with SMTP id 128-20020a4a11860000b029024b19a4d98eso2155707ooc.5 for ; Thu, 24 Jun 2021 18:38:37 -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:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=GoQC9YFwSLfixjDN+jDqM7Lyi56fC9IzcsXwwnGXpDI=; b=gptJT5hAo92C0cXxi+/brkT6z11Z+Tg6h7Sw3ERgdZRksURZTcJpbgyNng2m5nRW6C CoB6GKhxdazHV9Hzd2asB0W5I/sLPfsG6UIW8E/mBxsUOws1y1be7S1/pVO5/Uhg0rw9 w/nyxYFa+XCoCLH1aKNXL6Lm/25Y7YJkfb1if1YSRIpFU+7pFHSdhmOTXD9s/s8aMxrh uu0Sc22WYQjpNgWF03hy7p9c6/2y/Vp5ecx/233DDhZPpB9Civ3xp8JgTFn5VWSma7m6 HWv/x/MZLG0W/kGh00HFugNv8iAdd6x7IHe7A1cZJXdp1YTEU/0DAC8jQ9eRzVT7TmJd GxFw== X-Gm-Message-State: AOAM5329CZ/FYAkg8zBIl5bp1svjyltPLd3/ZDRh7dnA4/WLqFKwr6IK +bS2g6XWyFwrg3gh8zl+q7GlBg5z/jU= X-Google-Smtp-Source: ABdhPJwRAj5LF/Eeb/uYJXr8aJ/vb3SLM3fa+TK2fjyl2Gf/olEy+YmuxZi/V5u2GSwgQOuaPEuD1Q== X-Received: by 2002:a4a:315a:: with SMTP id v26mr6877867oog.75.1624585117041; Thu, 24 Jun 2021 18:38:37 -0700 (PDT) Received: from [192.168.0.41] (97-118-105-195.hlrn.qwest.net. [97.118.105.195]) by smtp.gmail.com with ESMTPSA id d18sm972938otu.71.2021.06.24.18.38.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 24 Jun 2021 18:38:36 -0700 (PDT) Subject: Re: [PATCH 6/13] v2 Use new per-location warning APIs in the C++ front end To: Jeff Law , gcc-patches References: <92db3776-af59-fa20-483b-aa67b17d0751@gmail.com> <47d06c821a53f5bd2246f0fca2c9a693bff6b882.camel@redhat.com> <3a5ea83c-0d91-d123-f537-f8f1223df890@gmail.com> From: Martin Sebor Message-ID: Date: Thu, 24 Jun 2021 19:38:35 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_SBL, URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jun 2021 01:38:39 -0000 On 6/23/21 11:12 PM, Jeff Law wrote: > > > On 6/4/2021 3:42 PM, Martin Sebor via Gcc-patches wrote: >> The attached patch replaces the uses of TREE_NO_WARNING in the C++ >> front end with the new suppress_warning(), warning_suppressed_p(), >> and copy_warning() APIs. >> >> gcc-no-warning-cp.diff >> >> Add support for per-location warning groups. >> >> * call.c (build_over_call): Replace direct uses of TREE_NO_WARNING >> with warning_suppressed_p, suppress_warning, and copy_no_warning, or >> nothing if not necessary. >> (set_up_extended_ref_temp): Same. >> * class.c (layout_class_type): Same. >> * constraint.cc (constraint_satisfaction_value): Same. >> * coroutines.cc (finish_co_await_expr): Same. >> (finish_co_yield_expr): Same. >> (finish_co_return_stmt): Same. >> (build_actor_fn): Same. >> (coro_rewrite_function_body): Same. >> (morph_fn_to_coro): Same. >> * cp-gimplify.c (genericize_eh_spec_block): Same. >> (gimplify_expr_stmt): Same. >> (cp_genericize_r): Same. >> (cp_fold): Same. >> * cp-ubsan.c (cp_ubsan_instrument_vptr): Same. >> * cvt.c (cp_fold_convert): Same. >> (convert_to_void): Same. >> * decl.c (wrapup_namespace_globals): Same. >> (grokdeclarator): Same. >> (finish_function): Same. >> (require_deduced_type): Same. >> * decl2.c (no_linkage_error): Same. >> (c_parse_final_cleanups): Same. >> * except.c (expand_end_catch_block): Same. >> * init.c (build_new_1): Same. >> (build_new): Same. >> (build_vec_delete_1): Same. >> (build_vec_init): Same. >> (build_delete): Same. >> * method.c (defaultable_fn_check): Same. >> * parser.c (cp_parser_fold_expression): Same. >> (cp_parser_primary_expression): Same. >> * pt.c (push_tinst_level_loc): Same. >> (tsubst_copy): Same. >> (tsubst_omp_udr): Same. >> (tsubst_copy_and_build): Same. >> * rtti.c (build_if_nonnull): Same. >> * semantics.c (maybe_convert_cond): Same. >> (finish_return_stmt): Same. >> (finish_parenthesized_expr): Same. >> (cp_check_omp_declare_reduction): Same. >> * tree.c (build_cplus_array_type): Same. >> * typeck.c (build_ptrmemfunc_access_expr): Same. >> (cp_build_indirect_ref_1): Same. >> (cp_build_function_call_vec): Same. >> (warn_for_null_address): Same. >> (cp_build_binary_op): Same. >> (unary_complex_lvalue): Same. >> (cp_build_modify_expr): Same. >> (build_x_modify_expr): Same. >> (convert_for_assignment): Same. > OK once prereqs are approved.  Note that I wouldn't be terribly > surprised if changes in the C++ front-end over the last couple weeks > create a conflict.  Consider resolution of such conflicts (in the C++ > front-end or elsewhere) or removing additional uses of TREE_NO_WARNING > that have crept in over the last two weeks pre-approved. > > Jeff > The patch applied cleanly. I retested it on top of the C bits and pushed r12-1804. If there are any new TREE_NO_WARNINGs I'll find those when I remove the macro. Martin