1 /* Do-nothing debug hooks for GCC.
2    Copyright (C) 2001-2016 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_void,			/* 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_charstar_int_bool,	 /* source_line */
39   debug_nothing_int_charstar,	         /* begin_prologue */
40   debug_nothing_int_charstar,	         /* end_prologue */
41   debug_nothing_int_charstar,	         /* begin_epilogue */
42   debug_nothing_int_charstar,	         /* end_epilogue */
43   debug_nothing_tree,		         /* begin_function */
44   debug_nothing_int,		         /* end_function */
45   debug_nothing_tree,		         /* register_main_translation_unit */
46   debug_nothing_tree,		         /* function_decl */
47   debug_nothing_tree,	         	 /* early_global_decl */
48   debug_nothing_tree,	         	 /* late_global_decl */
49   debug_nothing_tree_int,		 /* type_decl */
50   debug_nothing_tree_tree_tree_bool,	 /* imported_module_or_decl */
51   debug_nothing_tree,		         /* deferred_inline_function */
52   debug_nothing_tree,		         /* outlining_inline_function */
53   debug_nothing_rtx_code_label,	         /* label */
54   debug_nothing_int,		         /* handle_pch */
55   debug_nothing_rtx_insn,	         /* var_location */
56   debug_nothing_tree,			 /* size_function */
57   debug_nothing_void,                    /* switch_text_section */
58   debug_nothing_tree_tree,		 /* set_name */
59   0,                                     /* start_end_main_source_file */
60   TYPE_SYMTAB_IS_ADDRESS                 /* tree_type_symtab_field */
61 };
62 
63 /* This file contains implementations of each debug hook that do
64    nothing.  */
65 
66 void
debug_nothing_void(void)67 debug_nothing_void (void)
68 {
69 }
70 
71 void
debug_nothing_tree(tree decl ATTRIBUTE_UNUSED)72 debug_nothing_tree (tree decl ATTRIBUTE_UNUSED)
73 {
74 }
75 
76 void
debug_nothing_tree_tree(tree t1 ATTRIBUTE_UNUSED,tree t2 ATTRIBUTE_UNUSED)77 debug_nothing_tree_tree (tree t1 ATTRIBUTE_UNUSED,
78 			 tree t2 ATTRIBUTE_UNUSED)
79 {
80 }
81 
82 void
debug_nothing_tree_tree_tree_bool(tree t1 ATTRIBUTE_UNUSED,tree t2 ATTRIBUTE_UNUSED,tree t3 ATTRIBUTE_UNUSED,bool b1 ATTRIBUTE_UNUSED)83 debug_nothing_tree_tree_tree_bool (tree t1 ATTRIBUTE_UNUSED,
84 				   tree t2 ATTRIBUTE_UNUSED,
85 				   tree t3 ATTRIBUTE_UNUSED,
86 				   bool b1 ATTRIBUTE_UNUSED)
87 {
88 }
89 
90 bool
debug_true_const_tree(const_tree block ATTRIBUTE_UNUSED)91 debug_true_const_tree (const_tree block ATTRIBUTE_UNUSED)
92 {
93   return true;
94 }
95 
96 void
debug_nothing_rtx_insn(rtx_insn * insn ATTRIBUTE_UNUSED)97 debug_nothing_rtx_insn (rtx_insn *insn ATTRIBUTE_UNUSED)
98 {
99 }
100 
101 void
debug_nothing_rtx_code_label(rtx_code_label * label ATTRIBUTE_UNUSED)102 debug_nothing_rtx_code_label (rtx_code_label *label ATTRIBUTE_UNUSED)
103 {
104 }
105 
106 void
debug_nothing_charstar(const char * main_filename ATTRIBUTE_UNUSED)107 debug_nothing_charstar (const char *main_filename ATTRIBUTE_UNUSED)
108 {
109 }
110 
111 void
debug_nothing_int_charstar(unsigned int line ATTRIBUTE_UNUSED,const char * text ATTRIBUTE_UNUSED)112 debug_nothing_int_charstar (unsigned int line ATTRIBUTE_UNUSED,
113 			    const char *text ATTRIBUTE_UNUSED)
114 {
115 }
116 
117 void
debug_nothing_int_charstar_int_bool(unsigned int line ATTRIBUTE_UNUSED,const char * text ATTRIBUTE_UNUSED,int discriminator ATTRIBUTE_UNUSED,bool is_stmt ATTRIBUTE_UNUSED)118 debug_nothing_int_charstar_int_bool (unsigned int line ATTRIBUTE_UNUSED,
119 			             const char *text ATTRIBUTE_UNUSED,
120 			             int discriminator ATTRIBUTE_UNUSED,
121 			             bool is_stmt ATTRIBUTE_UNUSED)
122 {
123 }
124 
125 void
debug_nothing_int(unsigned int line ATTRIBUTE_UNUSED)126 debug_nothing_int (unsigned int line ATTRIBUTE_UNUSED)
127 {
128 }
129 
130 void
debug_nothing_int_int(unsigned int line ATTRIBUTE_UNUSED,unsigned int n ATTRIBUTE_UNUSED)131 debug_nothing_int_int (unsigned int line ATTRIBUTE_UNUSED,
132 		       unsigned int n ATTRIBUTE_UNUSED)
133 {
134 }
135 
136 void
debug_nothing_tree_int(tree decl ATTRIBUTE_UNUSED,int local ATTRIBUTE_UNUSED)137 debug_nothing_tree_int (tree decl ATTRIBUTE_UNUSED,
138 			int local ATTRIBUTE_UNUSED)
139 {
140 }
141