From: David Malcolm Date: Wed, 10 Apr 2024 20:43:29 +0000 (-0400) Subject: analyzer: add SARIF property bag to -Wanalyzer-infinite-recursion X-Git-Tag: basepoints/gcc-15~239 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=960e07d73a5295adf059053907bcb395115606d2;p=thirdparty%2Fgcc.git 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 --git a/gcc/analyzer/infinite-recursion.cc b/gcc/analyzer/infinite-recursion.cc index 112e4bd08f28..65f136ddad6b 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. */