Mercurial > hg > CbC > CbC_gcc
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; |