(root)/
gcc-13.2.0/
gcc/
testsuite/
gnat.dg/
c_words.ads
package C_Words is
   type Comparable is limited interface;
   
   type Word (<>) is tagged private;
   function New_Word (Str : String) return Word;
   
   type C_Word (<>) is new Word and Comparable with private;
   function New_Word (Str : String) return C_Word;

private
   type Word (Length : Natural) is tagged record
      Str : String (1 .. Length) := (others => ' ');
   end record;
   
   type C_Word is new Word and Comparable with null record;
end C_Words;