GCC Middle and Back End API Reference
libgdiagnostics-private.h
Go to the documentation of this file.
1/* Private API entrypoints to libgdiagnostics purely for use by sarif-replay.
2 Copyright (C) 2025 Free Software Foundation, Inc.
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify it
7under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 3, or (at your option)
9any later version.
10
11GCC is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
19
20#ifndef LIBGDIAGNOSTICS_PRIVATE_H
21#define LIBGDIAGNOSTICS_PRIVATE_H
22
23#include "libgdiagnostics.h"
24
25namespace json { class object; }
26
27extern "C" {
28
29/* Private entrypoints, for use only by sarif-replay.
30 These are subject to removal without notice. */
31
32/* Entrypoints added in LIBGDIAGNOSTICS_ABI_3. */
33
34extern void
36 std::unique_ptr<json::object> properties);
37
38extern void
40 std::unique_ptr<json::object> properties);
41
42extern void
44 std::unique_ptr<json::object> properties);
45
46/* Entrypoint added in LIBGDIAGNOSTICS_ABI_4. */
47
50 const diagnostic_physical_location *physical_loc,
51 const diagnostic_logical_location *logical_loc,
52 unsigned stack_depth,
53 diagnostic_graph *state_graph,
60
61/* Entrypoint added in LIBGDIAGNOSTICS_ABI_5. */
62
63extern void
65 int nesting_level)
67
68} // extern "C"
69
70#endif /* LIBGDIAGNOSTICS_PRIVATE_H */
Definition json.h:149
static struct path_prefix cpath path
Definition collect2.cc:514
class edge_def * edge
Definition coretypes.h:354
diagnostic_event_id private_diagnostic_execution_path_add_event_3(diagnostic_execution_path *path, const diagnostic_physical_location *physical_loc, const diagnostic_logical_location *logical_loc, unsigned stack_depth, diagnostic_graph *state_graph, diagnostic_message_buffer *msg_buf) LIBGDIAGNOSTICS_PARAM_MUST_BE_NON_NULL(6)
Definition libgdiagnostics.cc:2995
void private_diagnostic_set_nesting_level(diagnostic *diag, int nesting_level) LIBGDIAGNOSTICS_PARAM_MUST_BE_NON_NULL(1)
Definition libgdiagnostics.cc:3029
void private_diagnostic_node_set_property_bag(diagnostic_node &node, std::unique_ptr< json::object > properties)
Definition libgdiagnostics.cc:2719
void private_diagnostic_edge_set_property_bag(diagnostic_edge &edge, std::unique_ptr< json::object > properties)
Definition libgdiagnostics.cc:2728
void private_diagnostic_graph_set_property_bag(diagnostic_graph &graph, std::unique_ptr< json::object > properties)
Definition libgdiagnostics.cc:2710
#define LIBGDIAGNOSTICS_PARAM_CAN_BE_NULL(ARG_NUM)
Definition libgdiagnostics.h:50
int diagnostic_event_id
Definition libgdiagnostics.h:242
#define LIBGDIAGNOSTICS_PARAM_MUST_BE_NON_NULL(ARG_NUM)
Definition libgdiagnostics.h:47
Definition json-parsing.h:27
Definition libgdiagnostics.cc:1023
Definition libgdiagnostics.cc:1146
Definition libgdiagnostics.cc:1000
Definition libgdiagnostics.cc:175
Definition libgdiagnostics.cc:354
Definition libgdiagnostics.cc:1014
Definition libgdiagnostics.cc:151
Definition libgdiagnostics.cc:1249
Definition graphds.h:48