re PR debug/55794 (FAIL: g++.dg/debug/dwarf2/non-virtual-thunk.C -std=gnu++98 and -std=gnu++11)
PR debug/55794 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code size accounting for thunks. (pa_asm_output_mi_thunk): Use final_start_function() and final_end_function() to output function start and end directives. From-SVN: r209163
This commit is contained in:
parent
cce24f8eee
commit
a9a302d9f2
@ -1,3 +1,11 @@
|
||||
2014-04-06 John David Anglin <danglin@gcc.gnu.org>
|
||||
|
||||
PR debug/55794
|
||||
* config/pa/pa.c (pa_output_function_epilogue): Skip address and code
|
||||
size accounting for thunks.
|
||||
(pa_asm_output_mi_thunk): Use final_start_function() and
|
||||
final_end_function() to output function start and end directives.
|
||||
|
||||
2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
|
||||
|
||||
* config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have device
|
||||
|
@ -4187,13 +4187,17 @@ pa_output_function_epilogue (FILE *file, HOST_WIDE_INT size ATTRIBUTE_UNUSED)
|
||||
|
||||
if (TARGET_SOM && TARGET_GAS)
|
||||
{
|
||||
/* We done with this subspace except possibly for some additional
|
||||
/* We are done with this subspace except possibly for some additional
|
||||
debug information. Forget that we are in this subspace to ensure
|
||||
that the next function is output in its own subspace. */
|
||||
in_section = NULL;
|
||||
cfun->machine->in_nsubspa = 2;
|
||||
}
|
||||
|
||||
/* Thunks do their own accounting. */
|
||||
if (cfun->is_thunk)
|
||||
return;
|
||||
|
||||
if (INSN_ADDRESSES_SET_P ())
|
||||
{
|
||||
insn = get_last_nonnote_insn ();
|
||||
@ -8259,8 +8263,7 @@ pa_asm_output_mi_thunk (FILE *file, tree thunk_fndecl, HOST_WIDE_INT delta,
|
||||
xoperands[1] = XEXP (DECL_RTL (thunk_fndecl), 0);
|
||||
xoperands[2] = GEN_INT (delta);
|
||||
|
||||
ASM_OUTPUT_LABEL (file, XSTR (xoperands[1], 0));
|
||||
fprintf (file, "\t.PROC\n\t.CALLINFO FRAME=0,NO_CALLS\n\t.ENTRY\n");
|
||||
final_start_function (emit_barrier (), file, 1);
|
||||
|
||||
/* Output the thunk. We know that the function is in the same
|
||||
translation unit (i.e., the same space) as the thunk, and that
|
||||
@ -8466,16 +8469,7 @@ pa_asm_output_mi_thunk (FILE *file, tree thunk_fndecl, HOST_WIDE_INT delta,
|
||||
}
|
||||
}
|
||||
|
||||
fprintf (file, "\t.EXIT\n\t.PROCEND\n");
|
||||
|
||||
if (TARGET_SOM && TARGET_GAS)
|
||||
{
|
||||
/* We done with this subspace except possibly for some additional
|
||||
debug information. Forget that we are in this subspace to ensure
|
||||
that the next function is output in its own subspace. */
|
||||
in_section = NULL;
|
||||
cfun->machine->in_nsubspa = 2;
|
||||
}
|
||||
final_end_function ();
|
||||
|
||||
if (TARGET_SOM && flag_pic && TREE_PUBLIC (function))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user