From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2209) id 5175C384AB61; Wed, 10 Apr 2024 20:47:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5175C384AB61 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1712782027; bh=OL/JONbnZm161JHFFm0JIx9FmmxkYm/dDlLbmzM8Vkg=; h=From:To:Subject:Date:From; b=HmLwTrtMX5QWxd3nZNuKCUAcSOcmdPvdSoUs1Lp8sZKVub+oXwVGsE9FU1WzWWOXf 2ypVPBQMAGyRkTNce77kmJLLOYzgTYGvzBTPW50zf/gsXzleQZwC0/TNfqDUGpK5bt t9h+GJaq9EFkJYmHdibJKsOtptW1iJXs/SPxHiIM= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: David Malcolm To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-9900] analyzer: add SARIF property bag to -Wanalyzer-infinite-recursion X-Act-Checkin: gcc X-Git-Author: David Malcolm X-Git-Refname: refs/heads/master X-Git-Oldrev: 7a49d5dc0ef345fb2cb19a242272c973ead220e7 X-Git-Newrev: 960e07d73a5295adf059053907bcb395115606d2 Message-Id: <20240410204707.5175C384AB61@sourceware.org> Date: Wed, 10 Apr 2024 20:47:07 +0000 (GMT) List-Id: https://gcc.gnu.org/g:960e07d73a5295adf059053907bcb395115606d2 commit r14-9900-g960e07d73a5295adf059053907bcb395115606d2 Author: David Malcolm Date: Wed Apr 10 16:43:29 2024 -0400 analyzer: add SARIF property bag to -Wanalyzer-infinite-recursion gcc/analyzer/ChangeLog: * infinite-recursion.cc: Include "diagnostic-format-sarif.h". (infinite_recursion_diagnostic::maybe_add_sarif_properties): New. Signed-off-by: David Malcolm Diff: --- gcc/analyzer/infinite-recursion.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gcc/analyzer/infinite-recursion.cc b/gcc/analyzer/infinite-recursion.cc index 112e4bd08f2..65f136ddad6 100644 --- a/gcc/analyzer/infinite-recursion.cc +++ b/gcc/analyzer/infinite-recursion.cc @@ -62,6 +62,7 @@ along with GCC; see the file COPYING3. If not see #include "make-unique.h" #include "analyzer/checker-path.h" #include "analyzer/feasible-graph.h" +#include "diagnostic-format-sarif.h" /* A subclass of pending_diagnostic for complaining about suspected infinite recursion. */ @@ -236,6 +237,18 @@ public: return false; } + void maybe_add_sarif_properties (sarif_object &result_obj) + const final override + { + sarif_property_bag &props = result_obj.get_or_create_properties (); +#define PROPERTY_PREFIX "gcc/analyzer/infinite_recursion_diagnostic/" + props.set_integer (PROPERTY_PREFIX "prev_entry_enode", + m_prev_entry_enode->m_index); + props.set_integer (PROPERTY_PREFIX "new_entry_enode", + m_new_entry_enode->m_index); +#undef PROPERTY_PREFIX + } + private: /* Return true iff control flow along FEDGE was affected by a conjured_svalue. */