https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120440

--- Comment #10 from Sam James <sjames at gcc dot gnu.org> ---
Everything seems fine(?) before we call `Free (Copy)`:

```
Breakpoint 1, ada.exceptions.exception_propagation.gnat_gcc_exception_cleanup
(reason=urc_foreign_exception_caught, excep=0x56314ade85a0) at
../rts/a-exexpr.adb:354
354           Free (Copy);
(rr) p *Copy
$7 = (
  header => (
    class => 5138137877735301376,
    cleanup => (system.address) 0x56312853b80e,
    private1 => 0,
    private2 => 140732627361808,
    private3 => 0,
    private4 => 0,
    private5 => 0,
    private6 => 0
  ),
  occurrence => (
    id => 0x5631285f9300 <constraint_error>,
    machine_occurrence => (system.address) 0x56314ade85a0,
    msg_length => 26,
    msg => "bad input for 'Value: ""ls""", '["00"]' <repeats 174 times>,
    exception_raised => false,
    pid => 0,
    num_tracebacks => 0,
    tracebacks => (0 <repeats 50 times>)
  )
)
```

I just don't yet see where 0xd21 materialises from:
```
Breakpoint 1, ada.exceptions.exception_propagation.gnat_gcc_exception_cleanup
(reason=urc_foreign_exception_caught, excep=0x56314ade85a0) at
../rts/a-exexpr.adb:354
354           Free (Copy);
(rr) p Copy
$10 = (access system.exceptions.machine.gnat_gcc_exception) 0x56314ade85a0
(rr) s
340        procedure GNAT_GCC_Exception_Cleanup
(rr) s
354           Free (Copy);
(rr) s

Breakpoint 5, <__gnat_free> (ptr=0x2d1) at s-memory.adb:117
```

Reply via email to