comparison gcc/debug.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Debug hooks for GCC. 1 /* Debug hooks for GCC.
2 Copyright (C) 2001-2017 Free Software Foundation, Inc. 2 Copyright (C) 2001-2018 Free Software Foundation, Inc.
3 3
4 This program is free software; you can redistribute it and/or modify it 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 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 6 Free Software Foundation; either version 3, or (at your option) any
7 later version. 7 later version.
173 The parameter is 0 if after the start, 1 if before the end. */ 173 The parameter is 0 if after the start, 1 if before the end. */
174 void (* handle_pch) (unsigned int); 174 void (* handle_pch) (unsigned int);
175 175
176 /* Called from final_scan_insn for any NOTE_INSN_VAR_LOCATION note. */ 176 /* Called from final_scan_insn for any NOTE_INSN_VAR_LOCATION note. */
177 void (* var_location) (rtx_insn *); 177 void (* var_location) (rtx_insn *);
178
179 /* Called from final_scan_insn for any NOTE_INSN_INLINE_ENTRY note. */
180 void (* inline_entry) (tree block);
178 181
179 /* Called from finalize_size_functions for size functions so that their body 182 /* Called from finalize_size_functions for size functions so that their body
180 can be encoded in the debug info to describe the layout of variable-length 183 can be encoded in the debug info to describe the layout of variable-length
181 structures. */ 184 structures. */
182 void (* size_function) (tree decl); 185 void (* size_function) (tree decl);
226 unsigned HOST_WIDE_INT); 229 unsigned HOST_WIDE_INT);
227 230
228 /* Hooks for various debug formats. */ 231 /* Hooks for various debug formats. */
229 extern const struct gcc_debug_hooks do_nothing_debug_hooks; 232 extern const struct gcc_debug_hooks do_nothing_debug_hooks;
230 extern const struct gcc_debug_hooks dbx_debug_hooks; 233 extern const struct gcc_debug_hooks dbx_debug_hooks;
231 extern const struct gcc_debug_hooks sdb_debug_hooks;
232 extern const struct gcc_debug_hooks xcoff_debug_hooks; 234 extern const struct gcc_debug_hooks xcoff_debug_hooks;
233 extern const struct gcc_debug_hooks dwarf2_debug_hooks; 235 extern const struct gcc_debug_hooks dwarf2_debug_hooks;
234 extern const struct gcc_debug_hooks dwarf2_lineno_debug_hooks; 236 extern const struct gcc_debug_hooks dwarf2_lineno_debug_hooks;
235 extern const struct gcc_debug_hooks vmsdbg_debug_hooks; 237 extern const struct gcc_debug_hooks vmsdbg_debug_hooks;
236 238
240 const char *); 242 const char *);
241 extern void dwarf2out_vms_end_prologue (unsigned int, const char *); 243 extern void dwarf2out_vms_end_prologue (unsigned int, const char *);
242 extern void dwarf2out_vms_begin_epilogue (unsigned int, const char *); 244 extern void dwarf2out_vms_begin_epilogue (unsigned int, const char *);
243 extern void dwarf2out_end_epilogue (unsigned int, const char *); 245 extern void dwarf2out_end_epilogue (unsigned int, const char *);
244 extern void dwarf2out_frame_finish (void); 246 extern void dwarf2out_frame_finish (void);
245 /* Decide whether we want to emit frame unwind information for the current 247 extern bool dwarf2out_do_eh_frame (void);
246 translation unit. */
247 extern bool dwarf2out_do_frame (void); 248 extern bool dwarf2out_do_frame (void);
248 extern bool dwarf2out_do_cfi_asm (void); 249 extern bool dwarf2out_do_cfi_asm (void);
249 extern void dwarf2out_switch_text_section (void); 250 extern void dwarf2out_switch_text_section (void);
250 251 extern bool dwarf2out_default_as_loc_support (void);
251 const char *remap_debug_filename (const char *); 252 extern bool dwarf2out_default_as_locview_support (void);
252 void add_debug_prefix_map (const char *);
253 253
254 /* For -fdump-go-spec. */ 254 /* For -fdump-go-spec. */
255 255
256 extern const struct gcc_debug_hooks * 256 extern const struct gcc_debug_hooks *
257 dump_go_spec_init (const char *, const struct gcc_debug_hooks *); 257 dump_go_spec_init (const char *, const struct gcc_debug_hooks *);
258 258
259 /* Instance discriminator mapping table. See final.c. */
260 typedef hash_map<const_tree, int> decl_to_instance_map_t;
261 extern decl_to_instance_map_t *decl_to_instance_map;
262
263 /* Allocate decl_to_instance_map with COUNT slots to begin wtih, if it
264 * hasn't been allocated yet. */
265
266 static inline decl_to_instance_map_t *
267 maybe_create_decl_to_instance_map (int count = 13)
268 {
269 if (!decl_to_instance_map)
270 decl_to_instance_map = new decl_to_instance_map_t (count);
271 return decl_to_instance_map;
272 }
273
259 #endif /* !GCC_DEBUG_H */ 274 #endif /* !GCC_DEBUG_H */