aboutsummaryrefslogtreecommitdiff
path: root/gcc/libgdiagnostics.map
blob: cae28d14425aaa767b68ace5beca794c35cfbe92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Linker script for libgdiagnostics.so
#   Copyright (C) 2023-2025 Free Software Foundation, Inc.
#   Contributed by David Malcolm <dmalcolm@redhat.com>.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.  */

# The initial release of the library.
LIBGDIAGNOSTICS_ABI_0
{
  global:
    # Keep this list in order of decls in header file.
    diagnostic_manager_new;
    diagnostic_manager_release;
    diagnostic_manager_set_tool_name;
    diagnostic_manager_set_full_name;
    diagnostic_manager_set_version_string;
    diagnostic_manager_set_version_url;
    diagnostic_manager_add_text_sink;
    diagnostic_text_sink_set_source_printing_enabled;
    diagnostic_text_sink_set_colorize;
    diagnostic_text_sink_set_labelled_source_colorization_enabled;
    diagnostic_manager_add_sarif_sink;
    diagnostic_manager_write_patch;
    diagnostic_manager_new_file;
    diagnostic_file_set_buffered_content;
    diagnostic_manager_debug_dump_file;
    diagnostic_manager_new_location_from_file_and_line;
    diagnostic_manager_new_location_from_file_line_column;
    diagnostic_manager_new_location_from_range;
    diagnostic_manager_debug_dump_location;
    diagnostic_manager_new_logical_location;
    diagnostic_manager_debug_dump_logical_location;
    diagnostic_manager_begin_group;
    diagnostic_manager_end_group;
    diagnostic_begin;
    diagnostic_set_cwe;
    diagnostic_add_rule;
    diagnostic_set_location;
    diagnostic_set_location_with_label;
    diagnostic_add_location;
    diagnostic_add_location_with_label;
    diagnostic_set_logical_location;
    diagnostic_add_fix_it_hint_insert_before;
    diagnostic_add_fix_it_hint_insert_after;
    diagnostic_add_fix_it_hint_replace;
    diagnostic_add_fix_it_hint_delete;

    diagnostic_add_execution_path;
    diagnostic_manager_new_execution_path;
    diagnostic_take_execution_path;
    diagnostic_execution_path_release;
    diagnostic_execution_path_add_event;
    diagnostic_execution_path_add_event_va;

    diagnostic_finish;
    diagnostic_finish_va;

    diagnostic_physical_location_get_file;

  local: *;
};

# Add accessors for diagnostic_logical_location.
LIBGDIAGNOSTICS_ABI_1 {
  global:
    diagnostic_logical_location_get_kind;
    diagnostic_logical_location_get_parent;
    diagnostic_logical_location_get_short_name;
    diagnostic_logical_location_get_fully_qualified_name;
    diagnostic_logical_location_get_decorated_name;
} LIBGDIAGNOSTICS_ABI_0;

# Add hooks needed for HTML output from sarif-replay
LIBGDIAGNOSTICS_ABI_2 {
  global:
    diagnostic_manager_add_sink_from_spec;
    diagnostic_manager_set_analysis_target;
} LIBGDIAGNOSTICS_ABI_1;

# Add hooks needed for diagnostic_graph support.
LIBGDIAGNOSTICS_ABI_3 {
  global:
    diagnostic_manager_new_graph;
    diagnostic_manager_take_global_graph;
    diagnostic_take_graph;
    diagnostic_graph_release;
    diagnostic_graph_set_description;
    diagnostic_graph_add_node;
    diagnostic_graph_add_edge;
    diagnostic_graph_get_node_by_id;
    diagnostic_graph_get_edge_by_id;
    diagnostic_node_set_label;
    diagnostic_node_set_location;
    diagnostic_node_set_logical_location;

    # Private hooks used by sarif-replay
    private_diagnostic_execution_path_add_event_2;
    private_diagnostic_graph_set_property_bag;
    private_diagnostic_node_set_property_bag;
    private_diagnostic_edge_set_property_bag;
} LIBGDIAGNOSTICS_ABI_2;