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

            Bug ID: 99020
           Summary: ICE in record containing discriminated accesses
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: simon at pushface dot org
  Target Milestone: ---

Created attachment 50148
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50148&action=edit
Files as requested in bug box

This appears to be caused by the components of a discriminated record being 
themselves constrained by the containing record’s discriminants:

   type Instance (Panel     : not null Annunciator_Panel.Class_P;
                  Attendant : not null Analytical_Engine.Attendant.Instance_P)
     is new Ada.Finalization.Limited_Controlled with record

        Mill : Analytical_Engine.Mill.Instance_P          <<<<<<< line 61
          (Panel     => Panel,
           Attendant => Attendant);

$ gnatmake -c -u -f analytical_engine-framework.ads
gcc -c analytical_engine-framework.ads
+===========================GNAT BUG DETECTED==============================+
| 11.0.0 20210205 (experimental) (x86_64-apple-darwin15) Assert_Failure
einfo.adb:4122|
| Error detected at analytical_engine-framework.ads:61:9                   |
| Please submit a bug report; see https://gcc.gnu.org/bugs/ .              |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact command that you entered.                              |
| Also include sources listed below.                                       |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

analytical_engine-framework.ads
analytical_engine.ads
analytical_engine-annunciator_panel.ads
analytical_engine-output.ads
analytical_engine-attendant.ads
analytical_engine-mill.ads
analytical_engine-store.ads
analytical_engine-card_reader.ads
analytical_engine-card.ads

Reply via email to