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

            Bug ID: 82642
           Summary: Dynamic predicate for a record should give a warning
           Product: gcc
           Version: 7.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: porton at narod dot ru
  Target Milestone: ---

Dynamic predicate for a non-private record should give a warning, because Ada
RM does not warrant consistency when a field is assigned (or changed in other
way).

So the following program should produce a warning:

procedure Main is
  type T is
    record
      A, B: Integer;
    end record
  with Dynamic_Predicate => A+B=0;
begin
   null;
end;

Reply via email to