OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ada/] [i-fortra.ads] - Blame information for rev 706

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 706 jeremybenn
------------------------------------------------------------------------------
2
--                                                                          --
3
--                         GNAT COMPILER COMPONENTS                         --
4
--                                                                          --
5
--                   I N T E R F A C E S . F O R T R A N                    --
6
--                                                                          --
7
--                                 S p e c                                  --
8
--                                                                          --
9
-- This specification is derived from the Ada Reference Manual for use with --
10
-- GNAT.  In accordance with the copyright of that document, you can freely --
11
-- copy and modify this specification,  provided that if you redistribute a --
12
-- modified version,  any changes that you have made are clearly indicated. --
13
--                                                                          --
14
------------------------------------------------------------------------------
15
 
16
with Ada.Numerics.Generic_Complex_Types;
17
pragma Elaborate_All (Ada.Numerics.Generic_Complex_Types);
18
 
19
package Interfaces.Fortran is
20
   pragma Pure;
21
 
22
   type Fortran_Integer  is new Integer;
23
   type Real             is new Float;
24
   type Double_Precision is new Long_Float;
25
 
26
   type Logical is new Boolean;
27
   for Logical'Size use Integer'Size;
28
   pragma Convention (Fortran, Logical);
29
   --  As required by Fortran standard, stand alone logical allocates same
30
   --  space as integer (but what about the array case???). The convention
31
   --  is important, since in Fortran, Booleans have zero/non-zero semantics
32
   --  for False/True, and the pragma Convention (Fortran) activates the
33
   --  special handling required in this case.
34
 
35
   package Single_Precision_Complex_Types is
36
      new Ada.Numerics.Generic_Complex_Types (Real);
37
 
38
   package Double_Precision_Complex_Types is
39
      new Ada.Numerics.Generic_Complex_Types (Double_Precision);
40
 
41
   type Complex is new Single_Precision_Complex_Types.Complex;
42
 
43
   type Double_Complex is new Double_Precision_Complex_Types.Complex;
44
 
45
   subtype Imaginary is Single_Precision_Complex_Types.Imaginary;
46
   i : Imaginary renames Single_Precision_Complex_Types.i;
47
   j : Imaginary renames Single_Precision_Complex_Types.j;
48
 
49
   type Character_Set is new Character;
50
 
51
   type Fortran_Character is array (Positive range <>) of Character_Set;
52
 
53
   function To_Fortran (Item : Character)     return Character_Set;
54
   function To_Ada     (Item : Character_Set) return Character;
55
 
56
   function To_Fortran (Item : String)            return Fortran_Character;
57
   function To_Ada     (Item : Fortran_Character) return String;
58
 
59
   procedure To_Fortran
60
     (Item   : String;
61
      Target : out Fortran_Character;
62
      Last   : out Natural);
63
 
64
   procedure To_Ada
65
     (Item   : Fortran_Character;
66
      Target : out String;
67
      Last   : out Natural);
68
 
69
end Interfaces.Fortran;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.