comparison gcc/debug.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents 855418dad1a3
children f6334be47118
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
61 instructions. This may not be the case for blocks containing 61 instructions. This may not be the case for blocks containing
62 nested functions, since we may actually call such a function even 62 nested functions, since we may actually call such a function even
63 though the BLOCK information is messed up. Defaults to true. */ 63 though the BLOCK information is messed up. Defaults to true. */
64 bool (* ignore_block) (const_tree); 64 bool (* ignore_block) (const_tree);
65 65
66 /* Record a source file location at (FILE, LINE). */ 66 /* Record a source file location at (FILE, LINE, DISCRIMINATOR). */
67 void (* source_line) (unsigned int line, const char *file); 67 void (* source_line) (unsigned int line, const char *file,
68 int discriminator, bool is_stmt);
68 69
69 /* Called at start of prologue code. LINE is the first line in the 70 /* Called at start of prologue code. LINE is the first line in the
70 function. This has been given the same prototype as source_line, 71 function. */
71 so that the source_line hook can be substituted if appropriate. */
72 void (* begin_prologue) (unsigned int line, const char *file); 72 void (* begin_prologue) (unsigned int line, const char *file);
73 73
74 /* Called at end of prologue code. LINE is the first line in the 74 /* Called at end of prologue code. LINE is the first line in the
75 function. */ 75 function. */
76 void (* end_prologue) (unsigned int line, const char *file); 76 void (* end_prologue) (unsigned int line, const char *file);
128 128
129 /* Called from final_scan_insn if there is a switch between hot and cold 129 /* Called from final_scan_insn if there is a switch between hot and cold
130 text sections. */ 130 text sections. */
131 void (* switch_text_section) (void); 131 void (* switch_text_section) (void);
132 132
133 /* Records a direct call to the function DECL, noting the point of call
134 and the debug info for the function. Called from final_scan_insn
135 when ICF debugging is enabled. */
136 void (* direct_call) (tree decl);
137
138 /* Records the OBJ_TYPE_REF_TOKEN for a virtual call through ADDR, which
139 for C++ is the vtable slot index, noting the INSN_UID for the call
140 instruction. Called from calls.c:emit_call_1 when ICF debugging is
141 enabled. It's necessary to do this during lowering because the
142 call instruction and the OBJ_TYPE_REF become separated after that
143 point. */
144 void (* virtual_call_token) (tree addr, int insn_uid);
145
146 /* Copies the OBJ_TYPE_REF_TOKEN for a virtual call from OLD_INSN to
147 NEW_INSN. Called from emit-rtl.c:try_split when a CALL_INSN is
148 split, so that the vtable slot index remains associated with the
149 new CALL_INSN. */
150 void (* copy_call_info) (rtx old_insn, rtx new_insn);
151
152 /* Records a virtual call given INSN_UID, which is the UID of the call
153 instruction. The UID is then mapped to the vtable slot index noted
154 during the lowering phase. Called from final_scan_insn when ICF
155 debugging is enabled. */
156 void (* virtual_call) (int insn_uid);
157
158 /* Called from grokdeclarator. Replaces the anonymous name with the
159 type name. */
160 void (* set_name) (tree, tree);
161
133 /* This is 1 if the debug writer wants to see start and end commands for the 162 /* This is 1 if the debug writer wants to see start and end commands for the
134 main source files, and 0 otherwise. */ 163 main source files, and 0 otherwise. */
135 int start_end_main_source_file; 164 int start_end_main_source_file;
136 }; 165 };
137 166
139 168
140 /* The do-nothing hooks. */ 169 /* The do-nothing hooks. */
141 extern void debug_nothing_void (void); 170 extern void debug_nothing_void (void);
142 extern void debug_nothing_charstar (const char *); 171 extern void debug_nothing_charstar (const char *);
143 extern void debug_nothing_int_charstar (unsigned int, const char *); 172 extern void debug_nothing_int_charstar (unsigned int, const char *);
173 extern void debug_nothing_int_charstar_int_bool (unsigned int, const char *,
174 int, bool);
144 extern void debug_nothing_int (unsigned int); 175 extern void debug_nothing_int (unsigned int);
145 extern void debug_nothing_int_int (unsigned int, unsigned int); 176 extern void debug_nothing_int_int (unsigned int, unsigned int);
146 extern void debug_nothing_tree (tree); 177 extern void debug_nothing_tree (tree);
178 extern void debug_nothing_tree_tree (tree, tree);
147 extern void debug_nothing_tree_int (tree, int); 179 extern void debug_nothing_tree_int (tree, int);
148 extern void debug_nothing_tree_tree_tree_bool (tree, tree, tree, bool); 180 extern void debug_nothing_tree_tree_tree_bool (tree, tree, tree, bool);
149 extern bool debug_true_const_tree (const_tree); 181 extern bool debug_true_const_tree (const_tree);
150 extern void debug_nothing_rtx (rtx); 182 extern void debug_nothing_rtx (rtx);
183 extern void debug_nothing_rtx_rtx (rtx, rtx);
184 extern void debug_nothing_uid (int);
151 185
152 /* Hooks for various debug formats. */ 186 /* Hooks for various debug formats. */
153 extern const struct gcc_debug_hooks do_nothing_debug_hooks; 187 extern const struct gcc_debug_hooks do_nothing_debug_hooks;
154 extern const struct gcc_debug_hooks dbx_debug_hooks; 188 extern const struct gcc_debug_hooks dbx_debug_hooks;
155 extern const struct gcc_debug_hooks sdb_debug_hooks; 189 extern const struct gcc_debug_hooks sdb_debug_hooks;