OSDN Git Service

* decl2.c (maybe_emit_vtables): Produce same comdat group when outputting
[pf3gnuchains/gcc-fork.git] / gcc / ada / i-forbla.ads
index db093dd..3910349 100644 (file)
@@ -2,39 +2,49 @@
 --                                                                          --
 --                         GNAT RUN-TIME COMPONENTS                         --
 --                                                                          --
---                         INTERFACES.FORTRAN.BLAS                          --
+--               I N T E R F A C E S . F O R T R A N . B L A S              --
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---            Copyright (C) 2006, Free Software Foundation, Inc.            --
+--         Copyright (C) 2006-2009, Free Software Foundation, Inc.          --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
--- for  more details.  You should have  received  a copy of the GNU General --
--- Public License  distributed with GNAT;  see file COPYING.  If not, write --
--- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
--- Boston, MA 02110-1301, USA.                                              --
+-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
 --                                                                          --
--- As a special exception,  if other files  instantiate  generics from this --
--- unit, or you link  this unit with other files  to produce an executable, --
--- this  unit  does not  by itself cause  the resulting  executable  to  be --
--- covered  by the  GNU  General  Public  License.  This exception does not --
--- however invalidate  any other reasons why  the executable file  might be --
--- covered by the  GNU Public License.                                      --
+-- As a special exception under Section 7 of GPL version 3, you are granted --
+-- additional permissions described in the GCC Runtime Library Exception,   --
+-- version 3.1, as published by the Free Software Foundation.               --
+--                                                                          --
+-- You should have received a copy of the GNU General Public License and    --
+-- a copy of the GCC Runtime Library Exception along with this program;     --
+-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
+-- <http://www.gnu.org/licenses/>.                                          --
 --                                                                          --
 -- GNAT was originally developed  by the GNAT team at  New York University. --
 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  Comment required if non-RM package ???
+--  This package provides a thin binding to the standard Fortran BLAS library.
+--  Documentation and a reference BLAS implementation is available from
+--  ftp://ftp.netlib.org. The main purpose of this package is to facilitate
+--  implementation of the Ada 2005 Ada.Numerics.Generic_Real_Arrays and
+--  Ada.Numerics.Generic_Complex_Arrays packages. Bindings to other BLAS
+--  routines may be added over time.
+
+--  As actual linker arguments to link with the BLAS implementation differs
+--  according to platform and chosen BLAS implementation, the linker arguments
+--  are given in the body of this package. The body may need to be modified in
+--  order to link with different BLAS implementations tuned to the specific
+--  target.
 
 package Interfaces.Fortran.BLAS is
    pragma Pure;
+   pragma Elaborate_Body;
 
    No_Trans   : aliased constant Character := 'N';
    Trans      : aliased constant Character := 'T';
@@ -81,14 +91,14 @@ package Interfaces.Fortran.BLAS is
       Y     : Double_Precision_Vector;
       Inc_Y : Integer := 1) return Double_Precision;
 
-   function cdot
+   function cdotu
      (N     : Positive;
       X     : Complex_Vector;
       Inc_X : Integer := 1;
       Y     : Complex_Vector;
       Inc_Y : Integer := 1) return Complex;
 
-   function zdot
+   function zdotu
      (N     : Positive;
       X     : Double_Complex_Vector;
       Inc_X : Integer := 1;
@@ -232,7 +242,7 @@ package Interfaces.Fortran.BLAS is
       Ld_C    : Integer);
 
 private
-   pragma Import (Fortran, cdot,   "cdot_");
+   pragma Import (Fortran, cdotu,  "cdotu_");
    pragma Import (Fortran, cgemm,  "cgemm_");
    pragma Import (Fortran, cgemv,  "cgemv_");
    pragma Import (Fortran, ddot,   "ddot_");
@@ -245,7 +255,7 @@ private
    pragma Import (Fortran, sgemm,  "sgemm_");
    pragma Import (Fortran, sgemv,  "sgemv_");
    pragma Import (Fortran, snrm2,  "snrm2_");
-   pragma Import (Fortran, zdot,   "zdot_");
+   pragma Import (Fortran, zdotu,  "zdotu_");
    pragma Import (Fortran, zgemm,  "zgemm_");
    pragma Import (Fortran, zgemv,  "zgemv_");
 end Interfaces.Fortran.BLAS;