On 02/25/2016 04:51 PM, Jakub Jelinek wrote:
Do you have some short Ada testcase where the DW_OP_call4 referring to DW_TAG_dwarf_procedure is supposed to be emitted? I believe you must be getting there the .Ldebug_info0+0 invalid reference in the DW_OP_call4 operand.
Sure! Here’s one:
$ gcc -S -g -fgnat-encodings=minimal -dA foo.adb && grep DW_OP_call4 foo.s foo.s:313: .byte 0x99 # DW_OP_call4
-- Pierre-Marie de Rodat
procedure Foo is type Record_Type (N : Natural) is record S1 : String (1 .. N); S2 : String (1 .. N); end record; procedure Process (R : Record_Type) is begin null; end Process; R : Record_Type (4) := (4, "abcd", "efgh"); begin Process (R); end Foo;