diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-07-25 22:35:13 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-07-25 22:35:13 +0000 |
commit | 35bf1d17d16b84851170cf4ea11a190be32365be (patch) | |
tree | ec2ce07bfeadc70b3443c41f8c272027155111cb /gcc/dwarf2cfi.c | |
parent | 19c83f0039a29220154096bf312df1fd54bfab6e (diff) | |
download | gcc-35bf1d17d16b84851170cf4ea11a190be32365be.tar.gz |
dwarf2cfi: Add debug_cfi_row.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176771 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2cfi.c')
-rw-r--r-- | gcc/dwarf2cfi.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index 57fe566baf9..1b542780504 100644 --- a/gcc/dwarf2cfi.c +++ b/gcc/dwarf2cfi.c @@ -3314,6 +3314,38 @@ dwarf2out_emit_cfi (dw_cfi_ref cfi) if (dwarf2out_do_cfi_asm ()) output_cfi_directive (asm_out_file, cfi); } + +static void +dump_cfi_row (FILE *f, dw_cfi_row *row) +{ + dw_cfi_ref cfi; + unsigned i; + + cfi = row->cfa_cfi; + if (!cfi) + { + dw_cfa_location dummy; + memset(&dummy, 0, sizeof(dummy)); + dummy.reg = INVALID_REGNUM; + cfi = def_cfa_0 (&dummy, &row->cfa); + } + output_cfi_directive (f, cfi); + + FOR_EACH_VEC_ELT (dw_cfi_ref, row->reg_save, i, cfi) + if (cfi) + output_cfi_directive (f, cfi); + + fprintf (f, "\t.cfi_GNU_args_size "HOST_WIDE_INT_PRINT_DEC "\n", + row->args_size); +} + +void debug_cfi_row (dw_cfi_row *row); + +void +debug_cfi_row (dw_cfi_row *row) +{ + dump_cfi_row (stderr, row); +} /* Save the result of dwarf2out_do_frame across PCH. |