[Bug debug/55257] [4.8 Regression]: g++.dg/debug/dwarf2/non-virtual-thunk.C scan-assembler thunk.C:30

2012-11-12 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55257



Hans-Peter Nilsson hp at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2012-11-12

 AssignedTo|unassigned at gcc dot   |hp at gcc dot gnu.org

   |gnu.org |

   Target Milestone|--- |4.8.0

 Ever Confirmed|0   |1



--- Comment #2 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-12 
17:08:12 UTC ---

(In reply to comment #1)

 If the target doesn't call final_start_function and final_end_function in

 output_mi_thunk targhook (or equivalent), it is a target bug.



I see.  I either missed this requirement when I implemented those bits for CRIS

or it wasn't a requirement at the time.  BTW, I see several ports are missing

those calls.  I guess in the general case it can't be left to middle-end to

call those functions at the right time, so I'll just update the port and

hopefully the documentation, but no promises.  Assigning the PR to myself while

verifying that this is the cause.


[Bug debug/55257] [4.8 Regression]: g++.dg/debug/dwarf2/non-virtual-thunk.C scan-assembler thunk.C:30

2012-11-12 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55257



--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-12 
17:14:41 UTC ---

It is a requirement if you want proper debug info or unwind info for the thunk,

without that (or without calling the corresponding functions yourself, which is

harder to maintain) you don't get proper debug info.  It can't be called from

the middle end, because some targets need to perform various things before

final_start_function (or perhaps after final_end_function).


[Bug debug/55257] [4.8 Regression]: g++.dg/debug/dwarf2/non-virtual-thunk.C scan-assembler thunk.C:30

2012-11-12 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55257



--- Comment #4 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-12 
17:21:57 UTC ---

(In reply to comment #3)

 It can't be called from

 the middle end, because some targets need to perform various things before

 final_start_function (or perhaps after final_end_function).



Yes, that's what I meant, so let's just document the requirement.


[Bug debug/55257] [4.8 Regression]: g++.dg/debug/dwarf2/non-virtual-thunk.C scan-assembler thunk.C:30

2012-11-11 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55257



--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-12 
07:51:26 UTC ---

If the target doesn't call final_start_function and final_end_function in

output_mi_thunk targhook (or equivalent), it is a target bug.