1 /* Do-nothing debug hooks for GCC.
2    Copyright (C) 2001-2022 Free Software Foundation, Inc.
3 
4    This program is free software; you can redistribute it and/or modify it
5    under the terms of the GNU General Public License as published by the
6    Free Software Foundation; either version 3, or (at your option) any
7    later version.
8 
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13 
14    You should have received a copy of the GNU General Public License
15    along with this program; see the file COPYING3.  If not see
16    <http://www.gnu.org/licenses/>.  */
17 
18 #include "config.h"
19 #include "system.h"
20 #include "coretypes.h"
21 #include "tree.h"
22 #include "debug.h"
23 
24 /* The do-nothing debug hooks.  */
25 const struct gcc_debug_hooks do_nothing_debug_hooks =
26 {
27   debug_nothing_charstar,
28   debug_nothing_charstar,
29   debug_nothing_charstar,                         /* early_finish */
30   debug_nothing_void,
31   debug_nothing_int_charstar,
32   debug_nothing_int_charstar,
33   debug_nothing_int_charstar,
34   debug_nothing_int,
35   debug_nothing_int_int,               /* begin_block */
36   debug_nothing_int_int,               /* end_block */
37   debug_true_const_tree,               /* ignore_block */
38   debug_nothing_int_int_charstar_int_bool, /* source_line */
39   debug_nothing_int_int_charstar,        /* set_ignored_loc */
40   debug_nothing_int_int_charstar,        /* begin_prologue */
41   debug_nothing_int_charstar,          /* end_prologue */
42   debug_nothing_int_charstar,          /* begin_epilogue */
43   debug_nothing_int_charstar,          /* end_epilogue */
44   debug_nothing_tree,                            /* begin_function */
45   debug_nothing_int,                             /* end_function */
46   debug_nothing_tree,                            /* register_main_translation_unit */
47   debug_nothing_tree,                            /* function_decl */
48   debug_nothing_tree,                    /* early_global_decl */
49   debug_nothing_tree,                    /* late_global_decl */
50   debug_nothing_tree_int,                /* type_decl */
51   debug_nothing_tree_tree_tree_bool_bool,/* imported_module_or_decl */
52   debug_false_tree_charstarstar_uhwistar,/* die_ref_for_decl */
53   debug_nothing_tree_charstar_uhwi,      /* register_external_die */
54   debug_nothing_tree,                            /* deferred_inline_function */
55   debug_nothing_tree,                            /* outlining_inline_function */
56   debug_nothing_rtx_code_label,                  /* label */
57   debug_nothing_int,                             /* handle_pch */
58   debug_nothing_rtx_insn,              /* var_location */
59   debug_nothing_tree,                    /* inline_entry */
60   debug_nothing_tree,                              /* size_function */
61   debug_nothing_void,                    /* switch_text_section */
62   debug_nothing_tree_tree,               /* set_name */
63   0,                                     /* start_end_main_source_file */
64   TYPE_SYMTAB_IS_ADDRESS                 /* tree_type_symtab_field */
65 };
66 
67 /* This file contains implementations of each debug hook that do
68    nothing.  */
69 
70 void
debug_nothing_void(void)71 debug_nothing_void (void)
72 {
73 }
74 
75 void
debug_nothing_tree(tree decl ATTRIBUTE_UNUSED)76 debug_nothing_tree (tree decl ATTRIBUTE_UNUSED)
77 {
78 }
79 
80 void
debug_nothing_tree_tree(tree t1 ATTRIBUTE_UNUSED,tree t2 ATTRIBUTE_UNUSED)81 debug_nothing_tree_tree (tree t1 ATTRIBUTE_UNUSED,
82                                tree t2 ATTRIBUTE_UNUSED)
83 {
84 }
85 
86 void
debug_nothing_tree_tree_tree_bool_bool(tree t1 ATTRIBUTE_UNUSED,tree t2 ATTRIBUTE_UNUSED,tree t3 ATTRIBUTE_UNUSED,bool b1 ATTRIBUTE_UNUSED,bool b2 ATTRIBUTE_UNUSED)87 debug_nothing_tree_tree_tree_bool_bool (tree t1 ATTRIBUTE_UNUSED,
88                                                   tree t2 ATTRIBUTE_UNUSED,
89                                                   tree t3 ATTRIBUTE_UNUSED,
90                                                   bool b1 ATTRIBUTE_UNUSED,
91                                                   bool b2 ATTRIBUTE_UNUSED)
92 {
93 }
94 
95 bool
debug_true_const_tree(const_tree block ATTRIBUTE_UNUSED)96 debug_true_const_tree (const_tree block ATTRIBUTE_UNUSED)
97 {
98   return true;
99 }
100 
101 void
debug_nothing_rtx_insn(rtx_insn * insn ATTRIBUTE_UNUSED)102 debug_nothing_rtx_insn (rtx_insn *insn ATTRIBUTE_UNUSED)
103 {
104 }
105 
106 void
debug_nothing_rtx_code_label(rtx_code_label * label ATTRIBUTE_UNUSED)107 debug_nothing_rtx_code_label (rtx_code_label *label ATTRIBUTE_UNUSED)
108 {
109 }
110 
111 void
debug_nothing_charstar(const char * main_filename ATTRIBUTE_UNUSED)112 debug_nothing_charstar (const char *main_filename ATTRIBUTE_UNUSED)
113 {
114 }
115 
116 void
debug_nothing_int_charstar(unsigned int line ATTRIBUTE_UNUSED,const char * text ATTRIBUTE_UNUSED)117 debug_nothing_int_charstar (unsigned int line ATTRIBUTE_UNUSED,
118                                   const char *text ATTRIBUTE_UNUSED)
119 {
120 }
121 
122 void
debug_nothing_int_int_charstar(unsigned int line ATTRIBUTE_UNUSED,unsigned int column ATTRIBUTE_UNUSED,const char * text ATTRIBUTE_UNUSED)123 debug_nothing_int_int_charstar (unsigned int line ATTRIBUTE_UNUSED,
124                                         unsigned int column ATTRIBUTE_UNUSED,
125                                         const char *text ATTRIBUTE_UNUSED)
126 {
127 }
128 
129 void
debug_nothing_int_int_charstar_int_bool(unsigned int line ATTRIBUTE_UNUSED,unsigned int column ATTRIBUTE_UNUSED,const char * text ATTRIBUTE_UNUSED,int discriminator ATTRIBUTE_UNUSED,bool is_stmt ATTRIBUTE_UNUSED)130 debug_nothing_int_int_charstar_int_bool (unsigned int line ATTRIBUTE_UNUSED,
131                                                    unsigned int column ATTRIBUTE_UNUSED,
132                                                    const char *text ATTRIBUTE_UNUSED,
133                                                    int discriminator ATTRIBUTE_UNUSED,
134                                                    bool is_stmt ATTRIBUTE_UNUSED)
135 {
136 }
137 
138 void
debug_nothing_int(unsigned int line ATTRIBUTE_UNUSED)139 debug_nothing_int (unsigned int line ATTRIBUTE_UNUSED)
140 {
141 }
142 
143 void
debug_nothing_int_int(unsigned int line ATTRIBUTE_UNUSED,unsigned int n ATTRIBUTE_UNUSED)144 debug_nothing_int_int (unsigned int line ATTRIBUTE_UNUSED,
145                            unsigned int n ATTRIBUTE_UNUSED)
146 {
147 }
148 
149 void
debug_nothing_tree_int(tree decl ATTRIBUTE_UNUSED,int local ATTRIBUTE_UNUSED)150 debug_nothing_tree_int (tree decl ATTRIBUTE_UNUSED,
151                               int local ATTRIBUTE_UNUSED)
152 {
153 }
154 
155 bool
debug_false_tree_charstarstar_uhwistar(tree,const char **,unsigned HOST_WIDE_INT *)156 debug_false_tree_charstarstar_uhwistar (tree, const char **,
157                                                   unsigned HOST_WIDE_INT *)
158 {
159   return false;
160 }
161 
162 void
debug_nothing_tree_charstar_uhwi(tree,const char *,unsigned HOST_WIDE_INT)163 debug_nothing_tree_charstar_uhwi (tree, const char *,
164                                           unsigned HOST_WIDE_INT)
165 {
166 }
167