1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception, --
20 -- version 3.1, as published by the Free Software Foundation. --
22 -- You should have received a copy of the GNU General Public License and --
23 -- a copy of the GCC Runtime Library Exception along with this program; --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25 -- <http://www.gnu.org/licenses/>. --
27 -- GNAT was originally developed by the GNAT team at New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
30 ------------------------------------------------------------------------------
32 package body Gnatvsn
is
34 ----------------------
35 -- Copyright_Holder --
36 ----------------------
38 function Copyright_Holder
return String is
40 return "Free Software Foundation, Inc.";
43 ------------------------
44 -- Gnat_Free_Software --
45 ------------------------
47 function Gnat_Free_Software
return String is
50 "This is free software; see the source for copying conditions." &
52 "There is NO warranty; not even for MERCHANTABILITY or FITNESS" &
53 " FOR A PARTICULAR PURPOSE.";
54 end Gnat_Free_Software
;
56 type char_array
is array (Natural range <>) of aliased Character;
57 Version_String
: char_array
(0 .. Ver_Len_Max
- 1);
58 -- Import the C string defined in the (language-independent) source file
59 -- version.c using the zero-based convention of the C language.
60 -- The size is not the real one, which does not matter since we will
61 -- check for the nul character in Gnat_Version_String.
62 pragma Import
(C
, Version_String
, "version_string");
64 -------------------------
65 -- Gnat_Version_String --
66 -------------------------
68 function Gnat_Version_String
return String is
69 S
: String (1 .. Ver_Len_Max
);
73 exit when Version_String
(Pos
) = ASCII
.NUL
;
75 S
(Pos
+ 1) := Version_String
(Pos
);
78 exit when Pos
= Ver_Len_Max
;
82 end Gnat_Version_String
;