diff options
author | David Malcolm <dmalcolm@redhat.com> | 2024-04-10 16:43:29 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2024-04-10 16:43:29 -0400 |
commit | 960e07d73a5295adf059053907bcb395115606d2 (patch) | |
tree | 62a79d526bb3070e4718c541df50c68512069c41 /gcc/analyzer/infinite-recursion.cc | |
parent | 7a49d5dc0ef345fb2cb19a242272c973ead220e7 (diff) | |
download | gcc-960e07d73a5295adf059053907bcb395115606d2.zip gcc-960e07d73a5295adf059053907bcb395115606d2.tar.gz gcc-960e07d73a5295adf059053907bcb395115606d2.tar.bz2 |
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 <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/analyzer/infinite-recursion.cc')
-rw-r--r-- | gcc/analyzer/infinite-recursion.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/analyzer/infinite-recursion.cc b/gcc/analyzer/infinite-recursion.cc index 112e4bd..65f136d 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. */ |