From patchwork Thu Nov 16 13:36:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Malcolm X-Patchwork-Id: 165809 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp3214357vqg; Thu, 16 Nov 2023 05:37:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IEeGsma0MrJIuec1lrK/CfXIXmQalHhp8X6b+YGHQlza3yatIQv/b8bytLTZCAMwAq/R8IE X-Received: by 2002:a05:620a:170e:b0:777:2aeb:7dfa with SMTP id az14-20020a05620a170e00b007772aeb7dfamr9530350qkb.38.1700141831254; Thu, 16 Nov 2023 05:37:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1700141831; cv=pass; d=google.com; s=arc-20160816; b=mxXErvuzvKfmxzz8IxV08CquH2hMtLxML6y0mgC/pfDyd55VgOB378aEJpJe162lN/ DdlaW6KueJY26iDF9SypYFQUM5Wk37Vf5TJLjVz+OtLEZ2oJWcbDjuIcF5IslKXzemAg JY2zFTEGEErmSxGwu39NXa4/XcKf7gO5SummLkgScOhdVeawU30jPtk9QwhBp+lpdxMx qGq7na+bF6bCfUXodGnm76+MCjdaGHG0tjOt0v4Dd7S9HKD0hohHOI1Eh5Jnz7BJDFj5 5tiSk6gP5fLuPzUlRt1aF4jKU3Q44xEwaDFkStAfdBRMz83KhYUsWT/CqRrxTS3PIOXJ EYPQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=YAU6C1ZB72axTe41XsGy1pHTVJeClNP4xqySd//JBSA=; fh=NXemEfxTRbZtBxUkxR2ehQUaYlcDfMdzPkO8MChVQE4=; b=zv7cVYoyIsqb/Q+Bw0tYWYw67kaNgtACj70y4x/5RnFf0K+QWWG4wLib3hETLMfIqQ 7UZzbuXBirUuFVohAOIr8ArpmSbs4HxbxGCgZ2b/2EwSUuW+t3DhLtWGFpclMQqhDV1A 1ZjwixuDEL4XU9FhqEVILMNPL0TS4NqCDnAhmrSchDcA8QUw9NS9lfaBFNxv6xvN9rgo 1ArWVXEXWMbnu07cMCao56w21AqeETi0+82uji1nwbTGXhc0BWxUexW56hUHUrYEACGZ 8QWOjo7cZDSuXZ2K1Uwh4DPtWyqqH3lX5cRt60S3nuPC0jinqh7WNuX9OD7b118xaouO l8SQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=CZRUaGsH; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id bs31-20020a05620a471f00b00767cc0f9316si11492436qkb.289.2023.11.16.05.37.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Nov 2023 05:37:11 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=CZRUaGsH; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 096D43858C36 for ; Thu, 16 Nov 2023 13:37:11 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 8EBCA3858D20 for ; Thu, 16 Nov 2023 13:36:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8EBCA3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8EBCA3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700141808; cv=none; b=EXEbzbw4l8SAiWD1j1FYs82YI4NOypPZqcieiEtmq7tZnWHeIhFXVD+DiELXnVBD/uOmWEZo8se0+Hwn7+MYJ/PMi6ffQI5XY/20hWCs8jbpYrWuAARi+trzWhzjSDcFicaw89kSfnGsiBJJTENw4hwG/qChF9/nk+fCJN+O9E4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700141808; c=relaxed/simple; bh=CgYxBgt94LKiK4vpFC/lfUl5fQiy+BXa5C2ggBxF25s=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=xlORHPAWWmJHm3c1F+pHepxofyuVh3ftxkP3sv1mTtlgevfKy1hsE2ElkN1RWGghtzGvITA190etMvRWsmU9CvGOhrXpce0hcqmHjpDzdw0qVhRwwd2qmctIwDm/FK+KR4x85ZXUeb9YnMnW9qlpAVmBnaF5W2yBZMoUl0t8XdM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1700141806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YAU6C1ZB72axTe41XsGy1pHTVJeClNP4xqySd//JBSA=; b=CZRUaGsHmy1ovo6HldnSWRGy/l1s0zjkK0W92DhVrffq253goOpEGZndWGUuF7fTribG5Q DD6hi6Uwp2rrRARS7GCcDZl7jUPcBC5iS57yBMcKgDS63VPvpHci1ciYh0ijKjROJSHbla CSnp31gTHAqf6Yofmx2Td46QEPWy5vM= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-84-bTvzh0vNMR2m_yPbQrALDg-1; Thu, 16 Nov 2023 08:36:45 -0500 X-MC-Unique: bTvzh0vNMR2m_yPbQrALDg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C43DA85A58C for ; Thu, 16 Nov 2023 13:36:44 +0000 (UTC) Received: from t14s.localdomain.com (unknown [10.22.10.115]) by smtp.corp.redhat.com (Postfix) with ESMTP id 96DE42026D66; Thu, 16 Nov 2023 13:36:44 +0000 (UTC) From: David Malcolm To: gcc-patches@gcc.gnu.org Cc: David Malcolm Subject: [pushed] diagnostics: make m_lang_mask private Date: Thu, 16 Nov 2023 08:36:43 -0500 Message-Id: <20231116133643.3989600-1-dmalcolm@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782727920958179086 X-GMAIL-MSGID: 1782727920958179086 No functional change intended. Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to trunk as r14-5530-g4547c271c455dc. gcc/ChangeLog: * diagnostic.cc (diagnostic_context::set_option_hooks): Add "lang_mask" param. * diagnostic.h (diagnostic_context::option_enabled_p): Update for move of m_lang_mask. (diagnostic_context::set_option_hooks): Add "lang_mask" param. (diagnostic_context::get_lang_mask): New. (diagnostic_context::m_lang_mask): Move into m_option_callbacks, thus making private. * lto-wrapper.cc (main): Update for new lang_mask param of set_option_hooks. * toplev.cc (init_asm_output): Use get_lang_mask. (general_init): Move initialization of global_dc's lang_mask to new lang_mask param of set_option_hooks. --- gcc/diagnostic.cc | 4 +++- gcc/diagnostic.h | 16 +++++++++++----- gcc/lto-wrapper.cc | 3 ++- gcc/toplev.cc | 6 +++--- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc index eb0df6890564..b4ebcd29457c 100644 --- a/gcc/diagnostic.cc +++ b/gcc/diagnostic.cc @@ -423,12 +423,14 @@ diagnostic_context:: set_option_hooks (diagnostic_option_enabled_cb option_enabled_cb, void *option_state, diagnostic_make_option_name_cb make_option_name_cb, - diagnostic_make_option_url_cb make_option_url_cb) + diagnostic_make_option_url_cb make_option_url_cb, + unsigned lang_mask) { m_option_callbacks.m_option_enabled_cb = option_enabled_cb; m_option_callbacks.m_option_state = option_state; m_option_callbacks.m_make_option_name_cb = make_option_name_cb; m_option_callbacks.m_make_option_url_cb = make_option_url_cb; + m_option_callbacks.m_lang_mask = lang_mask; } void diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index db61b0e27477..dbf972d25875 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -506,7 +506,7 @@ public: return true; return m_option_callbacks.m_option_enabled_cb (option_index, - m_lang_mask, + m_option_callbacks.m_lang_mask, m_option_callbacks.m_option_state); } @@ -532,7 +532,13 @@ public: set_option_hooks (diagnostic_option_enabled_cb option_enabled_cb, void *option_state, diagnostic_make_option_name_cb make_option_name_cb, - diagnostic_make_option_url_cb make_option_url_cb); + diagnostic_make_option_url_cb make_option_url_cb, + unsigned lang_mask); + + unsigned get_lang_mask () const + { + return m_option_callbacks.m_lang_mask; + } private: bool includes_seen_p (const line_map_ordinary *map); @@ -673,6 +679,9 @@ private: is available. May be passed 0 as well as the index of a particular option. */ diagnostic_make_option_url_cb m_make_option_url_cb; + + /* A copy of lang_hooks.option_lang_mask (). */ + unsigned m_lang_mask; } m_option_callbacks; /* An optional hook for adding URLs to quoted text strings in @@ -698,9 +707,6 @@ private: int m_lock; public: - /* A copy of lang_hooks.option_lang_mask (). */ - unsigned m_lang_mask; - bool m_inhibit_notes_p; diagnostic_source_printing_options m_source_printing; diff --git a/gcc/lto-wrapper.cc b/gcc/lto-wrapper.cc index 7c76635ef213..7b01ecc2d889 100644 --- a/gcc/lto-wrapper.cc +++ b/gcc/lto-wrapper.cc @@ -2149,7 +2149,8 @@ main (int argc, char *argv[]) global_dc->set_option_hooks (nullptr, nullptr, nullptr, - get_option_url); + get_option_url, + 0); if (atexit (lto_wrapper_cleanup) != 0) fatal_error (input_location, "% failed"); diff --git a/gcc/toplev.cc b/gcc/toplev.cc index ae2f3d52602b..8c3fcd337bee 100644 --- a/gcc/toplev.cc +++ b/gcc/toplev.cc @@ -715,7 +715,7 @@ init_asm_output (const char *name) "cannot open %qs for writing: %m", asm_file_name); } - if (!flag_syntax_only && !(global_dc->m_lang_mask & CL_LTODump)) + if (!flag_syntax_only && !(global_dc->get_lang_mask () & CL_LTODump)) { targetm.asm_out.file_start (); @@ -1020,7 +1020,6 @@ general_init (const char *argv0, bool init_signals) /* Initialize the diagnostics reporting machinery, so option parsing can give warnings and errors. */ diagnostic_initialize (global_dc, N_OPTS); - global_dc->m_lang_mask = lang_hooks.option_lang_mask (); /* Set a default printer. Language specific initializations will override it later. */ tree_diagnostics_defaults (global_dc); @@ -1048,7 +1047,8 @@ general_init (const char *argv0, bool init_signals) global_dc->set_option_hooks (option_enabled, &global_options, option_name, - get_option_url); + get_option_url, + lang_hooks.option_lang_mask ()); global_dc->set_urlifier (make_gcc_urlifier ()); if (init_signals)