From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 8D3E13858C27 for ; Sat, 23 Jul 2022 17:43:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8D3E13858C27 Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-468-b50LvXdUOF2xLn9ZaMjVyw-1; Sat, 23 Jul 2022 13:43:24 -0400 X-MC-Unique: b50LvXdUOF2xLn9ZaMjVyw-1 Received: by mail-qk1-f198.google.com with SMTP id bl27-20020a05620a1a9b00b0069994eeb30cso6266270qkb.11 for ; Sat, 23 Jul 2022 10:43:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=N9uivth5zQ6yOP8vvG3TiXMtm1gEXNZzVMpzL+jicJA=; b=iqSgW2JfEaupQi4+0twY2xsA4eeQO7WjqEgnZSF0X2HCkbaB/mgkeCGggEw5xh9XKN XeFQYHGGx/VrsMe9zzlxR8ptpANioIocAola4fKe12JnTxt4Bo0mD6E7nXcCznVRSFOD Ym6GTgIqaJorxYKcUCYoBGhysGMfyX9dMcGF3F7oSdH8XJff4psKf5vWrE3VKy9cRt9h dEcgYXGPx+OLMXIMhLcheuuo4FXCA26qYyc8UnMCyR09ANp0FaF+GOVg7mz5Ecev2zBR EIuMJ2t9e+tFZb/7hq3SsZGWJBOmzuGrsDrRTFAG8KnTqj4C7ubemljserVitvVHuiZW V8kw== X-Gm-Message-State: AJIora9D8eX8MDS6G19GzNXD1dKndbGoIuBqdnCdfdkavijPYcCpHnVS ovtIaFIeJzml/us+jM6pNwJmY2+3UW+cMQa9BhfgrQB9E9HFq1369lo19gMLEaqgvgyj+A2z6sB HD4PgnoJ1QcjORQW+fA== X-Received: by 2002:a05:620a:1714:b0:6b5:c8ea:759d with SMTP id az20-20020a05620a171400b006b5c8ea759dmr4004980qkb.556.1658598203641; Sat, 23 Jul 2022 10:43:23 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sXY+MAaHnwFS2Ns/Bs7yXAeQ2U4C51Dm+w3Xtq+wLpdbgk85p8IzfBqICTLxMdan+7nFNE6Q== X-Received: by 2002:a05:620a:1714:b0:6b5:c8ea:759d with SMTP id az20-20020a05620a171400b006b5c8ea759dmr4004975qkb.556.1658598203423; Sat, 23 Jul 2022 10:43:23 -0700 (PDT) Received: from t14s.localdomain (c-73-69-212-193.hsd1.nh.comcast.net. [73.69.212.193]) by smtp.gmail.com with ESMTPSA id ey14-20020a05622a4c0e00b0031f0ab4eceasm4874649qtb.7.2022.07.23.10.43.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Jul 2022 10:43:22 -0700 (PDT) Message-ID: <51c80ff004ad34c7c6637d7e7229be1836e8d02f.camel@redhat.com> Subject: Re: [PATCH] analyzer: add get_meaning_for_state_change vfunc to fd_diagnostic in sm-fd.cc [PR106286] From: David Malcolm To: mirimnan017@gmail.com, gcc-patches@gcc.gnu.org Cc: Immad Mir Date: Sat, 23 Jul 2022 13:43:21 -0400 In-Reply-To: References: User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, BODY_8BITS, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP 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.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2022 17:43:27 -0000 On Sat, 2022-07-23 at 22:08 +0530, Immad Mir wrote: > This patch adds get_meaning_for_state_change vfunc to > fd_diagnostic in sm-fd.cc which could be used by SARIF output. > > Lightly tested in x86_64 Linux. > > gcc/analyzer/ChangeLog: >         PR analyzer/106286 >         * sm-fd.cc: >         (fd_diagnostic::get_meaning_for_state_change): New. > > Signed-off-by: Immad Mir > --- >  gcc/analyzer/sm-fd.cc | 16 ++++++++++++++++ >  1 file changed, 16 insertions(+) > > diff --git a/gcc/analyzer/sm-fd.cc b/gcc/analyzer/sm-fd.cc > index c3dac48509e..f77b1f4d3e2 100644 > --- a/gcc/analyzer/sm-fd.cc > +++ b/gcc/analyzer/sm-fd.cc > @@ -229,6 +229,22 @@ public: >      return label_text (); >    } >   > +  diagnostic_event::meaning > +  get_meaning_for_state_change ( > +      const evdesc::state_change &change) const final override > +  { > +    if (change.m_old_state == m_sm.get_start_state () > +            && (change.m_new_state == m_sm.m_unchecked_read_write > +        || change.m_new_state == m_sm.m_unchecked_read_only > +        || change.m_new_state == m_sm.m_unchecked_write_only)) I think you can simplify this by using: m_sm.is_unchecked_fd_p (change.m_new_state) for the right-hand side of the &&. [...snip...] Other than that, patch looks OK, but please add a test case for this e.g. "fd-meaning.c"; see: gcc/testsuite/gcc.dg/analyzer/file-meaning-1.c for an analogous one for the sm-file.cc (since otherwise it's too easy for this kind of thing to regress). Dave