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

            Bug ID: 111433
           Summary: Erroneous message "error: null exclusion for "O" does
                    not match"
           Product: gcc
           Version: 13.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: p.p11 at orange dot fr
                CC: dkm at gcc dot gnu.org
  Target Milestone: ---

Created attachment 55908
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55908&action=edit
Archive of reproducer and full error message.

When compiling the procedure body, I got:
     8.    procedure Clear (O : access TJavaMeth) is
                     |
        >>> error: not fully conformant with declaration at objsrc.ads:25
        >>> error: null exclusion for "O" does not match
whereas procedure spec is:
    25.    procedure Clear (O : access TJavaMeth);

However, the declarations spec and body are identical.
What could be wrong?

I got this error when I add:
    20.    procedure Append (O : access TJavaClass; M : PJavaMeth);
and the incomplete type:
    14.    type TJavaMeth;
    15.    type PJavaMeth is access TJavaMeth;

HTH, Pascal.
See full source and full error message in attached zip.

Reply via email to