diff options
author | Mark Harmstone <mark@harmstone.com> | 2024-08-08 03:18:11 +0100 |
---|---|---|
committer | Mark Harmstone <mark@harmstone.com> | 2024-08-25 17:35:20 +0100 |
commit | ee020b4a6cb796c3363bed562fb43d7b36603108 (patch) | |
tree | bc2ee9bc4eb168b26ed3ac87986791e5fd56461f /gcc/cppbuiltin.h | |
parent | 07d62a1711f3e3bbdd2146ab5914d3bc5e246509 (diff) | |
download | gcc-ee020b4a6cb796c3363bed562fb43d7b36603108.zip gcc-ee020b4a6cb796c3363bed562fb43d7b36603108.tar.gz gcc-ee020b4a6cb796c3363bed562fb43d7b36603108.tar.bz2 |
Write CodeView information about enregistered optimized variables
Enable variable tracking when outputting CodeView debug information, and make
it so that we issue debug symbols for optimized variables in registers. This
consists of S_LOCAL symbols, which give the name and the type of local
variables, followed by S_DEFRANGE_REGISTER symbols for the register and the
code for which this applies.
gcc/
* dwarf2codeview.cc (enum cv_sym_type): Add S_LOCAL and
S_DEFRANGE_REGISTER.
(write_s_local): New function.
(write_defrange_register): New function.
(write_optimized_local_variable_loc): New function.
(write_optimized_local_variable): New function.
(write_optimized_function_vars): New function.
(write_function): Call write_optimized_function_vars if variable
tracking enabled.
* dwarf2out.cc (typedef var_loc_view): Move to dwarf2out.h.
(struct dw_loc_list_struct): Likewise.
* dwarf2out.h (typedef var_loc_view): Move from dwarf2out.h.
(struct dw_loc_list_struct): Likewise.
* opts.cc (finish_options): Enable variable tracking for CodeView.
Diffstat (limited to 'gcc/cppbuiltin.h')
0 files changed, 0 insertions, 0 deletions