comp.lang.ada
 help / color / mirror / Atom feed
* Safe to ignore warnings about function mistaken as primitive?
@ 2022-07-10  8:45 G.B.
  2022-07-10 10:19 ` Dmitry A. Kazakov
  2022-07-11  4:27 ` Stephen Leake
  0 siblings, 2 replies; 4+ messages in thread
From: G.B. @ 2022-07-10  8:45 UTC (permalink / raw)


GNAT warns about primitive operations appearing too late in the text.
In the following example, though, F is not meant to be a primitive
operation of A.Some_Tagged, but instead one of type B.Plain.

Can I ignore the warning?


gcc -gnatl -c rt_warn.ads

GNAT 11.2.0
Copyright 1992-2021, Free Software Foundation, Inc.
cannot generate code for file rt_warn.ads (package spec)


Compiling: rt_warn.ads
Source file time stamp: 2022-07-10 08:34:32
Compiled at: 2022-07-10 10:34:39

      1. package Rt_Warn is
      2.
      3.     package A is
      4.
      5.         type Some_Tagged is interface;
      6.
      7.     end A;
      8.
      9.     package B is
     10.
     11.         type Plain is private;
     12.
     13.         function F (Param : A.Some_Tagged) return Plain;
                          |
         >>> warning: declaration of "F" is too late
         >>> warning: spec should appear immediately after declaration of "Some_Tagged"

     14.         function FC (Param : A.Some_Tagged'Class) return Plain;
     15.     private
     16.         type Plain is record
     17.             null;
     18.         end record;
     19.     end B;
     20.
     21. end Rt_Warn;

  21 lines: No errors, 2 warnings

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-07-11 13:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-10  8:45 Safe to ignore warnings about function mistaken as primitive? G.B.
2022-07-10 10:19 ` Dmitry A. Kazakov
2022-07-11  4:27 ` Stephen Leake
2022-07-11 13:17   ` G.B.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox