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

            Bug ID: 120104
           Summary: Assertion failure on use of finalizable aspect
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dennis at przytarski dot com
                CC: dkm at gcc dot gnu.org
  Target Milestone: ---

Created attachment 61301
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61301&action=edit
Reproducer

This code

pragma Extensions_Allowed (On);
procedure Example is
   type Test_T is
      abstract tagged null record
         with Finalizable => 
            (Finalize => Finalize, Relaxed_Finalization => True);
   procedure Finalize (This : in out Test_T) is abstract;
begin
   null;
end Example;

fails with

gnatmake: "<source>" compilation error
+===========================GNAT BUG DETECTED==============================+
| 16.0.0 20250504 (experimental) (x86_64-linux-gnu) Assert_Failure failed
precondition from einfo-entities.ads:3296|
| Error detected at example.adb:7:49                                       |
| Compiling <source>                                               |
...

It seems likely that this code should fail anyway, as the Finalize procedure is
abstract.

Reply via email to