[R-SIG-Win] Rtools45 returning many -Wimplicit-function-declaration errors

Avraham Adler @vr@h@m@@d|er @end|ng |rom gm@||@com
Sun Mar 23 20:01:52 CET 2025


For what it is worth, "make install" on OPenBLAS creates two header
files (posted below) f77blas.h and openblas_config.h. I copied both to
src/include and then added #include "f77blas.h" to blas00.c and got an
understandably huger list of errors since theOpenBLAS calls are
different than R's version. The only thing I can think of now is to
pass -Wno-implicit-function-calls, which I am sure is dangerous for
other reasons.

## f77blas.h
#ifndef OPENBLAS_F77BLAS_H
#define OPENBLAS_F77BLAS_H
#include "openblas_config.h"
/*********************************************************************/
/* Copyright 2009, 2010 The University of Texas at Austin.           */
/* All rights reserved.                                              */
/*                                                                   */
/* Redistribution and use in source and binary forms, with or        */
/* without modification, are permitted provided that the following   */
/* conditions are met:                                               */
/*                                                                   */
/*   1. Redistributions of source code must retain the above         */
/*      copyright notice, this list of conditions and the following  */
/*      disclaimer.                                                  */
/*                                                                   */
/*   2. Redistributions in binary form must reproduce the above      */
/*      copyright notice, this list of conditions and the following  */
/*      disclaimer in the documentation and/or other materials       */
/*      provided with the distribution.                              */
/*                                                                   */
/*    THIS  SOFTWARE IS PROVIDED  BY THE  UNIVERSITY OF  TEXAS AT    */
/*    AUSTIN  ``AS IS''  AND ANY  EXPRESS OR  IMPLIED WARRANTIES,    */
/*    INCLUDING, BUT  NOT LIMITED  TO, THE IMPLIED  WARRANTIES OF    */
/*    MERCHANTABILITY  AND FITNESS FOR  A PARTICULAR  PURPOSE ARE    */
/*    DISCLAIMED.  IN  NO EVENT SHALL THE UNIVERSITY  OF TEXAS AT    */
/*    AUSTIN OR CONTRIBUTORS BE  LIABLE FOR ANY DIRECT, INDIRECT,    */
/*    INCIDENTAL,  SPECIAL, EXEMPLARY,  OR  CONSEQUENTIAL DAMAGES    */
/*    (INCLUDING, BUT  NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE    */
/*    GOODS  OR  SERVICES; LOSS  OF  USE,  DATA,  OR PROFITS;  OR    */
/*    BUSINESS INTERRUPTION) HOWEVER CAUSED  AND ON ANY THEORY OF    */
/*    LIABILITY, WHETHER  IN CONTRACT, STRICT  LIABILITY, OR TORT    */
/*    (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING IN ANY WAY OUT    */
/*    OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF ADVISED  OF  THE    */
/*    POSSIBILITY OF SUCH DAMAGE.                                    */
/*                                                                   */
/* The views and conclusions contained in the software and           */
/* documentation are those of the authors and should not be          */
/* interpreted as representing official policies, either expressed   */
/* or implied, of The University of Texas at Austin.                 */
/*********************************************************************/

#ifndef ASSEMBLER

#ifdef __cplusplus
extern "C" {
/* Assume C declarations for C++ */
#endif  /* __cplusplus */

int    BLASFUNC(xerbla)(char *, blasint *info, blasint);

void    openblas_set_num_threads_(int *);

/*Set the threading backend to a custom callback.*/
typedef void (*openblas_dojob_callback)(int thread_num, void *jobdata,
int dojob_data);
typedef void (*openblas_threads_callback)(int sync,
openblas_dojob_callback dojob, int numjobs, size_t jobdata_elsize,
void *jobdata, int dojob_data);
extern openblas_threads_callback openblas_threads_callback_;

FLOATRET  BLASFUNC(sdot)  (blasint *, float  *, blasint *, float  *, blasint *);
FLOATRET  BLASFUNC(sdsdot)(blasint *, float  *,        float  *,
blasint *, float  *, blasint *);

double BLASFUNC(dsdot) (blasint *, float  *, blasint *, float  *, blasint *);
double BLASFUNC(ddot)  (blasint *, double *, blasint *, double *, blasint *);
xdouble BLASFUNC(qdot)  (blasint *, xdouble *, blasint *, xdouble *, blasint *);

float  BLASFUNC(sbdot)     (blasint *, bfloat16 *, blasint *, bfloat16
*, blasint *);
void   BLASFUNC(sbstobf16) (blasint *, float *,    blasint *, bfloat16
*, blasint *);
void   BLASFUNC(sbdtobf16) (blasint *, double *,   blasint *, bfloat16
*, blasint *);
void   BLASFUNC(sbf16tos)  (blasint *, bfloat16 *, blasint *, float *,
   blasint *);
void   BLASFUNC(dbf16tod)  (blasint *, bfloat16 *, blasint *, double
*,   blasint *);

#ifdef RETURN_BY_STRUCT
typedef struct {
  float r, i;
} myccomplex_t;

typedef struct {
  double r, i;
} myzcomplex_t;

typedef struct {
  xdouble r, i;
} myxcomplex_t;

myccomplex_t    BLASFUNC(cdotu)  (blasint *, float  *, blasint *,
float  *, blasint *);
myccomplex_t    BLASFUNC(cdotc)  (blasint *, float  *, blasint *,
float  *, blasint *);
myzcomplex_t    BLASFUNC(zdotu)  (blasint *, double  *, blasint *,
double  *, blasint *);
myzcomplex_t    BLASFUNC(zdotc)  (blasint *, double  *, blasint *,
double  *, blasint *);
myxcomplex_t    BLASFUNC(xdotu)  (blasint *, xdouble  *, blasint *,
xdouble  *, blasint *);
myxcomplex_t    BLASFUNC(xdotc)  (blasint *, xdouble  *, blasint *,
xdouble  *, blasint *);

#elif defined RETURN_BY_STACK
void  BLASFUNC(cdotu)  (openblas_complex_float   *,  blasint *, float
* , blasint *, float  *,  blasint *);
void  BLASFUNC(cdotc)  (openblas_complex_float   *,  blasint *, float
*,  blasint *, float  *,  blasint *);
void  BLASFUNC(zdotu)  (openblas_complex_double  *, blasint *, double
*, blasint *, double  *, blasint *);
void  BLASFUNC(zdotc)  (openblas_complex_double  *, blasint *, double
*, blasint *, double  *, blasint *);
void  BLASFUNC(xdotu)  (openblas_complex_xdouble *, blasint *, xdouble
 *, blasint *, xdouble  *, blasint *);
void  BLASFUNC(xdotc)  (openblas_complex_xdouble *, blasint *, xdouble
 *, blasint *, xdouble  *, blasint *);
#else
openblas_complex_float   BLASFUNC(cdotu)  (blasint *, float  *,
blasint *, float  *, blasint *);
openblas_complex_float   BLASFUNC(cdotc)  (blasint *, float  *,
blasint *, float  *, blasint *);
openblas_complex_double  BLASFUNC(zdotu)  (blasint *, double  *,
blasint *, double  *, blasint *);
openblas_complex_double  BLASFUNC(zdotc)  (blasint *, double  *,
blasint *, double  *, blasint *);
openblas_complex_xdouble BLASFUNC(xdotu)  (blasint *, xdouble  *,
blasint *, xdouble  *, blasint *);
openblas_complex_xdouble BLASFUNC(xdotc)  (blasint *, xdouble  *,
blasint *, xdouble  *, blasint *);
#endif

void    BLASFUNC(saxpy) (blasint *, float  *, float  *, blasint *,
float  *, blasint *);
void    BLASFUNC(daxpy) (blasint *, double *, double *, blasint *,
double *, blasint *);
void    BLASFUNC(qaxpy) (blasint *, xdouble *, xdouble *, blasint *,
xdouble *, blasint *);
void    BLASFUNC(caxpy) (blasint *, float  *, float  *, blasint *,
float  *, blasint *);
void    BLASFUNC(zaxpy) (blasint *, double *, double *, blasint *,
double *, blasint *);
void    BLASFUNC(xaxpy) (blasint *, xdouble *, xdouble *, blasint *,
xdouble *, blasint *);
void    BLASFUNC(caxpyc)(blasint *, float  *, float  *, blasint *,
float  *, blasint *);
void    BLASFUNC(zaxpyc)(blasint *, double *, double *, blasint *,
double *, blasint *);
void    BLASFUNC(xaxpyc)(blasint *, xdouble *, xdouble *, blasint *,
xdouble *, blasint *);

void    BLASFUNC(scopy) (blasint *, float  *, blasint *, float  *, blasint *);
void    BLASFUNC(dcopy) (blasint *, double *, blasint *, double *, blasint *);
void    BLASFUNC(qcopy) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
void    BLASFUNC(ccopy) (blasint *, float  *, blasint *, float  *, blasint *);
void    BLASFUNC(zcopy) (blasint *, double *, blasint *, double *, blasint *);
void    BLASFUNC(xcopy) (blasint *, xdouble *, blasint *, xdouble *, blasint *);

void    BLASFUNC(sswap) (blasint *, float  *, blasint *, float  *, blasint *);
void    BLASFUNC(dswap) (blasint *, double *, blasint *, double *, blasint *);
void    BLASFUNC(qswap) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
void    BLASFUNC(cswap) (blasint *, float  *, blasint *, float  *, blasint *);
void    BLASFUNC(zswap) (blasint *, double *, blasint *, double *, blasint *);
void    BLASFUNC(xswap) (blasint *, xdouble *, blasint *, xdouble *, blasint *);

FLOATRET  BLASFUNC(sasum) (blasint *, float  *, blasint *);
FLOATRET  BLASFUNC(scasum)(blasint *, float  *, blasint *);
double BLASFUNC(dasum) (blasint *, double *, blasint *);
xdouble BLASFUNC(qasum) (blasint *, xdouble *, blasint *);
double BLASFUNC(dzasum)(blasint *, double *, blasint *);
xdouble BLASFUNC(qxasum)(blasint *, xdouble *, blasint *);

FLOATRET  BLASFUNC(ssum) (blasint *, float  *, blasint *);
FLOATRET  BLASFUNC(scsum)(blasint *, float  *, blasint *);
double BLASFUNC(dsum) (blasint *, double *, blasint *);
xdouble BLASFUNC(qsum) (blasint *, xdouble *, blasint *);
double BLASFUNC(dzsum)(blasint *, double *, blasint *);
xdouble BLASFUNC(qxsum)(blasint *, xdouble *, blasint *);

blasint    BLASFUNC(isamax)(blasint *, float  *, blasint *);
blasint    BLASFUNC(idamax)(blasint *, double *, blasint *);
blasint    BLASFUNC(iqamax)(blasint *, xdouble *, blasint *);
blasint    BLASFUNC(icamax)(blasint *, float  *, blasint *);
blasint    BLASFUNC(izamax)(blasint *, double *, blasint *);
blasint    BLASFUNC(ixamax)(blasint *, xdouble *, blasint *);

blasint    BLASFUNC(ismax) (blasint *, float  *, blasint *);
blasint    BLASFUNC(idmax) (blasint *, double *, blasint *);
blasint    BLASFUNC(iqmax) (blasint *, xdouble *, blasint *);
blasint    BLASFUNC(icmax) (blasint *, float  *, blasint *);
blasint    BLASFUNC(izmax) (blasint *, double *, blasint *);
blasint    BLASFUNC(ixmax) (blasint *, xdouble *, blasint *);

blasint    BLASFUNC(isamin)(blasint *, float  *, blasint *);
blasint    BLASFUNC(idamin)(blasint *, double *, blasint *);
blasint    BLASFUNC(iqamin)(blasint *, xdouble *, blasint *);
blasint    BLASFUNC(icamin)(blasint *, float  *, blasint *);
blasint    BLASFUNC(izamin)(blasint *, double *, blasint *);
blasint    BLASFUNC(ixamin)(blasint *, xdouble *, blasint *);

blasint    BLASFUNC(ismin)(blasint *, float  *, blasint *);
blasint    BLASFUNC(idmin)(blasint *, double *, blasint *);
blasint    BLASFUNC(iqmin)(blasint *, xdouble *, blasint *);
blasint    BLASFUNC(icmin)(blasint *, float  *, blasint *);
blasint    BLASFUNC(izmin)(blasint *, double *, blasint *);
blasint    BLASFUNC(ixmin)(blasint *, xdouble *, blasint *);

FLOATRET  BLASFUNC(samax) (blasint *, float  *, blasint *);
double BLASFUNC(damax) (blasint *, double *, blasint *);
xdouble BLASFUNC(qamax) (blasint *, xdouble *, blasint *);
FLOATRET  BLASFUNC(scamax)(blasint *, float  *, blasint *);
double BLASFUNC(dzamax)(blasint *, double *, blasint *);
xdouble BLASFUNC(qxamax)(blasint *, xdouble *, blasint *);

FLOATRET  BLASFUNC(samin) (blasint *, float  *, blasint *);
double BLASFUNC(damin) (blasint *, double *, blasint *);
xdouble BLASFUNC(qamin) (blasint *, xdouble *, blasint *);
FLOATRET  BLASFUNC(scamin)(blasint *, float  *, blasint *);
double BLASFUNC(dzamin)(blasint *, double *, blasint *);
xdouble BLASFUNC(qxamin)(blasint *, xdouble *, blasint *);

FLOATRET  BLASFUNC(smax)  (blasint *, float  *, blasint *);
double BLASFUNC(dmax)  (blasint *, double *, blasint *);
xdouble BLASFUNC(qmax)  (blasint *, xdouble *, blasint *);
FLOATRET  BLASFUNC(scmax) (blasint *, float  *, blasint *);
double BLASFUNC(dzmax) (blasint *, double *, blasint *);
xdouble BLASFUNC(qxmax) (blasint *, xdouble *, blasint *);

FLOATRET  BLASFUNC(smin)  (blasint *, float  *, blasint *);
double BLASFUNC(dmin)  (blasint *, double *, blasint *);
xdouble BLASFUNC(qmin)  (blasint *, xdouble *, blasint *);
FLOATRET  BLASFUNC(scmin) (blasint *, float  *, blasint *);
double BLASFUNC(dzmin) (blasint *, double *, blasint *);
xdouble BLASFUNC(qxmin) (blasint *, xdouble *, blasint *);

void    BLASFUNC(sscal) (blasint *,  float  *, float  *, blasint *);
void    BLASFUNC(dscal) (blasint *,  double *, double *, blasint *);
void    BLASFUNC(qscal) (blasint *,  xdouble *, xdouble *, blasint *);
void    BLASFUNC(cscal) (blasint *,  float  *, float  *, blasint *);
void    BLASFUNC(zscal) (blasint *,  double *, double *, blasint *);
void    BLASFUNC(xscal) (blasint *,  xdouble *, xdouble *, blasint *);
void    BLASFUNC(csscal)(blasint *,  float  *, float  *, blasint *);
void    BLASFUNC(zdscal)(blasint *,  double *, double *, blasint *);
void    BLASFUNC(xqscal)(blasint *,  xdouble *, xdouble *, blasint *);

FLOATRET  BLASFUNC(snrm2) (blasint *, float  *, blasint *);
FLOATRET  BLASFUNC(scnrm2)(blasint *, float  *, blasint *);

double BLASFUNC(dnrm2) (blasint *, double *, blasint *);
xdouble BLASFUNC(qnrm2) (blasint *, xdouble *, blasint *);
double BLASFUNC(dznrm2)(blasint *, double *, blasint *);
xdouble BLASFUNC(qxnrm2)(blasint *, xdouble *, blasint *);

void  BLASFUNC(srot)  (blasint *, float  *, blasint *, float  *,
blasint *, float  *, float  *);
void  BLASFUNC(drot)  (blasint *, double *, blasint *, double *,
blasint *, double *, double *);
void  BLASFUNC(qrot)  (blasint *, xdouble *, blasint *, xdouble *,
blasint *, xdouble *, xdouble *);
void  BLASFUNC(csrot) (blasint *, float  *, blasint *, float  *,
blasint *, float  *, float  *);
void  BLASFUNC(zdrot) (blasint *, double *, blasint *, double *,
blasint *, double *, double *);
void  BLASFUNC(xqrot) (blasint *, xdouble *, blasint *, xdouble *,
blasint *, xdouble *, xdouble *);

void  BLASFUNC(srotg) (float  *, float  *, float  *, float  *);
void  BLASFUNC(drotg) (double *, double *, double *, double *);
void  BLASFUNC(qrotg) (xdouble *, xdouble *, xdouble *, xdouble *);
void  BLASFUNC(crotg) (float  *, float  *, float  *, float  *);
void  BLASFUNC(zrotg) (double *, double *, double *, double *);
void  BLASFUNC(xrotg) (xdouble *, xdouble *, xdouble *, xdouble *);

void  BLASFUNC(srotmg)(float  *, float  *, float  *, float  *, float  *);
void  BLASFUNC(drotmg)(double *, double *, double *, double *, double *);

void  BLASFUNC(srotm) (blasint *, float  *, blasint *, float  *,
blasint *, float  *);
void  BLASFUNC(drotm) (blasint *, double *, blasint *, double *,
blasint *, double *);
void  BLASFUNC(qrotm) (blasint *, xdouble *, blasint *, xdouble *,
blasint *, xdouble *);

/* Level 2 routines */

void BLASFUNC(sger)(blasint *,    blasint *, float *,  float *, blasint *,
   float *,  blasint *, float *,  blasint *);
void BLASFUNC(dger)(blasint *,    blasint *, double *, double *, blasint *,
   double *, blasint *, double *, blasint *);
void BLASFUNC(qger)(blasint *,    blasint *, xdouble *, xdouble *, blasint *,
   xdouble *, blasint *, xdouble *, blasint *);
void BLASFUNC(cgeru)(blasint *,    blasint *, float *,  float *, blasint *,
    float *,  blasint *, float *,  blasint *);
void BLASFUNC(cgerc)(blasint *,    blasint *, float *,  float *, blasint *,
    float *,  blasint *, float *,  blasint *);
void BLASFUNC(zgeru)(blasint *,    blasint *, double *, double *, blasint *,
    double *, blasint *, double *, blasint *);
void BLASFUNC(zgerc)(blasint *,    blasint *, double *, double *, blasint *,
    double *, blasint *, double *, blasint *);
void BLASFUNC(xgeru)(blasint *,    blasint *, xdouble *, xdouble *, blasint *,
    xdouble *, blasint *, xdouble *, blasint *);
void BLASFUNC(xgerc)(blasint *,    blasint *, xdouble *, xdouble *, blasint *,
    xdouble *, blasint *, xdouble *, blasint *);

void BLASFUNC(sbgemv)(char *, blasint *, blasint *, float  *, bfloat16
*, blasint *,
            bfloat16  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(sgemv)(char *, blasint *, blasint *, float  *, float  *,
blasint *,
    float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(dgemv)(char *, blasint *, blasint *, double *, double *,
blasint *,
    double *, blasint *, double *, double *, blasint *);
void BLASFUNC(qgemv)(char *, blasint *, blasint *, xdouble *, xdouble
*, blasint *,
    xdouble *, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(cgemv)(char *, blasint *, blasint *, float  *, float  *,
blasint *,
    float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zgemv)(char *, blasint *, blasint *, double *, double *,
blasint *,
    double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xgemv)(char *, blasint *, blasint *, xdouble *, xdouble
*, blasint *,
    xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(strsv) (char *, char *, char *, blasint *, float  *, blasint *,
     float  *, blasint *);
void BLASFUNC(dtrsv) (char *, char *, char *, blasint *, double *, blasint *,
     double *, blasint *);
void BLASFUNC(qtrsv) (char *, char *, char *, blasint *, xdouble *, blasint *,
     xdouble *, blasint *);
void BLASFUNC(ctrsv) (char *, char *, char *, blasint *, float  *, blasint *,
     float  *, blasint *);
void BLASFUNC(ztrsv) (char *, char *, char *, blasint *, double *, blasint *,
     double *, blasint *);
void BLASFUNC(xtrsv) (char *, char *, char *, blasint *, xdouble *, blasint *,
     xdouble *, blasint *);

void BLASFUNC(strmv) (char *, char *, char *, blasint *, float  *, blasint *,
     float  *, blasint *);
void BLASFUNC(dtrmv) (char *, char *, char *, blasint *, double *, blasint *,
     double *, blasint *);
void BLASFUNC(qtrmv) (char *, char *, char *, blasint *, xdouble *, blasint *,
     xdouble *, blasint *);
void BLASFUNC(ctrmv) (char *, char *, char *, blasint *, float  *, blasint *,
     float  *, blasint *);
void BLASFUNC(ztrmv) (char *, char *, char *, blasint *, double *, blasint *,
     double *, blasint *);
void BLASFUNC(xtrmv) (char *, char *, char *, blasint *, xdouble *, blasint *,
     xdouble *, blasint *);

void BLASFUNC(stpsv) (char *, char *, char *, blasint *, float  *,
float  *, blasint *);
void BLASFUNC(dtpsv) (char *, char *, char *, blasint *, double *,
double *, blasint *);
void BLASFUNC(qtpsv) (char *, char *, char *, blasint *, xdouble *,
xdouble *, blasint *);
void BLASFUNC(ctpsv) (char *, char *, char *, blasint *, float  *,
float  *, blasint *);
void BLASFUNC(ztpsv) (char *, char *, char *, blasint *, double *,
double *, blasint *);
void BLASFUNC(xtpsv) (char *, char *, char *, blasint *, xdouble *,
xdouble *, blasint *);

void BLASFUNC(stpmv) (char *, char *, char *, blasint *, float  *,
float  *, blasint *);
void BLASFUNC(dtpmv) (char *, char *, char *, blasint *, double *,
double *, blasint *);
void BLASFUNC(qtpmv) (char *, char *, char *, blasint *, xdouble *,
xdouble *, blasint *);
void BLASFUNC(ctpmv) (char *, char *, char *, blasint *, float  *,
float  *, blasint *);
void BLASFUNC(ztpmv) (char *, char *, char *, blasint *, double *,
double *, blasint *);
void BLASFUNC(xtpmv) (char *, char *, char *, blasint *, xdouble *,
xdouble *, blasint *);

void BLASFUNC(stbmv) (char *, char *, char *, blasint *, blasint *,
float  *, blasint *, float  *, blasint *);
void BLASFUNC(dtbmv) (char *, char *, char *, blasint *, blasint *,
double *, blasint *, double *, blasint *);
void BLASFUNC(qtbmv) (char *, char *, char *, blasint *, blasint *,
xdouble *, blasint *, xdouble *, blasint *);
void BLASFUNC(ctbmv) (char *, char *, char *, blasint *, blasint *,
float  *, blasint *, float  *, blasint *);
void BLASFUNC(ztbmv) (char *, char *, char *, blasint *, blasint *,
double *, blasint *, double *, blasint *);
void BLASFUNC(xtbmv) (char *, char *, char *, blasint *, blasint *,
xdouble *, blasint *, xdouble *, blasint *);

void BLASFUNC(stbsv) (char *, char *, char *, blasint *, blasint *,
float  *, blasint *, float  *, blasint *);
void BLASFUNC(dtbsv) (char *, char *, char *, blasint *, blasint *,
double *, blasint *, double *, blasint *);
void BLASFUNC(qtbsv) (char *, char *, char *, blasint *, blasint *,
xdouble *, blasint *, xdouble *, blasint *);
void BLASFUNC(ctbsv) (char *, char *, char *, blasint *, blasint *,
float  *, blasint *, float  *, blasint *);
void BLASFUNC(ztbsv) (char *, char *, char *, blasint *, blasint *,
double *, blasint *, double *, blasint *);
void BLASFUNC(xtbsv) (char *, char *, char *, blasint *, blasint *,
xdouble *, blasint *, xdouble *, blasint *);

void BLASFUNC(ssymv) (char *, blasint *, float  *, float *, blasint *,
     float  *, blasint *, float *, float *, blasint *);
void BLASFUNC(dsymv) (char *, blasint *, double  *, double *, blasint *,
     double  *, blasint *, double *, double *, blasint *);
void BLASFUNC(qsymv) (char *, blasint *, xdouble  *, xdouble *, blasint *,
     xdouble  *, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(csymv) (char *, blasint *, float  *, float *, blasint *,
     float  *, blasint *, float *, float *, blasint *);
void BLASFUNC(zsymv) (char *, blasint *, double  *, double *, blasint *,
     double  *, blasint *, double *, double *, blasint *);
void BLASFUNC(xsymv) (char *, blasint *, xdouble  *, xdouble *, blasint *,
     xdouble  *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(sspmv) (char *, blasint *, float  *, float *,
     float  *, blasint *, float *, float *, blasint *);
void BLASFUNC(dspmv) (char *, blasint *, double  *, double *,
     double  *, blasint *, double *, double *, blasint *);
void BLASFUNC(qspmv) (char *, blasint *, xdouble  *, xdouble *,
     xdouble  *, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(cspmv) (char *, blasint *, float  *, float *,
     float  *, blasint *, float *, float *, blasint *);
void BLASFUNC(zspmv) (char *, blasint *, double  *, double *,
     double  *, blasint *, double *, double *, blasint *);
void BLASFUNC(xspmv) (char *, blasint *, xdouble  *, xdouble *,
     xdouble  *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(ssyr) (char *, blasint *, float   *, float  *, blasint *,
    float  *, blasint *);
void BLASFUNC(dsyr) (char *, blasint *, double  *, double *, blasint *,
    double *, blasint *);
void BLASFUNC(qsyr) (char *, blasint *, xdouble  *, xdouble *, blasint *,
    xdouble *, blasint *);
void BLASFUNC(csyr) (char *, blasint *, float   *, float  *, blasint *,
    float  *, blasint *);
void BLASFUNC(zsyr) (char *, blasint *, double  *, double *, blasint *,
    double *, blasint *);
void BLASFUNC(xsyr) (char *, blasint *, xdouble  *, xdouble *, blasint *,
    xdouble *, blasint *);

void BLASFUNC(ssyr2) (char *, blasint *, float   *,
     float  *, blasint *, float  *, blasint *, float  *, blasint *);
void BLASFUNC(dsyr2) (char *, blasint *, double  *,
     double *, blasint *, double *, blasint *, double *, blasint *);
void BLASFUNC(qsyr2) (char *, blasint *, xdouble  *,
     xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
void BLASFUNC(csyr2) (char *, blasint *, float   *,
     float  *, blasint *, float  *, blasint *, float  *, blasint *);
void BLASFUNC(zsyr2) (char *, blasint *, double  *,
     double *, blasint *, double *, blasint *, double *, blasint *);
void BLASFUNC(xsyr2) (char *, blasint *, xdouble  *,
     xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);

void BLASFUNC(sspr) (char *, blasint *, float   *, float  *, blasint *,
    float  *);
void BLASFUNC(dspr) (char *, blasint *, double  *, double *, blasint *,
    double *);
void BLASFUNC(qspr) (char *, blasint *, xdouble  *, xdouble *, blasint *,
    xdouble *);
void BLASFUNC(cspr) (char *, blasint *, float   *, float  *, blasint *,
    float  *);
void BLASFUNC(zspr) (char *, blasint *, double  *, double *, blasint *,
    double *);
void BLASFUNC(xspr) (char *, blasint *, xdouble  *, xdouble *, blasint *,
    xdouble *);

void BLASFUNC(sspr2) (char *, blasint *, float   *,
     float  *, blasint *, float  *, blasint *, float  *);
void BLASFUNC(dspr2) (char *, blasint *, double  *,
     double *, blasint *, double *, blasint *, double *);
void BLASFUNC(qspr2) (char *, blasint *, xdouble  *,
     xdouble *, blasint *, xdouble *, blasint *, xdouble *);
void BLASFUNC(cspr2) (char *, blasint *, float   *,
     float  *, blasint *, float  *, blasint *, float  *);
void BLASFUNC(zspr2) (char *, blasint *, double  *,
     double *, blasint *, double *, blasint *, double *);
void BLASFUNC(xspr2) (char *, blasint *, xdouble  *,
     xdouble *, blasint *, xdouble *, blasint *, xdouble *);

void BLASFUNC(cher) (char *, blasint *, float   *, float  *, blasint *,
    float  *, blasint *);
void BLASFUNC(zher) (char *, blasint *, double  *, double *, blasint *,
    double *, blasint *);
void BLASFUNC(xher) (char *, blasint *, xdouble  *, xdouble *, blasint *,
    xdouble *, blasint *);

void BLASFUNC(chpr) (char *, blasint *, float   *, float  *, blasint
*, float  *);
void BLASFUNC(zhpr) (char *, blasint *, double  *, double *, blasint
*, double *);
void BLASFUNC(xhpr) (char *, blasint *, xdouble  *, xdouble *, blasint
*, xdouble *);

void BLASFUNC(cher2) (char *, blasint *, float   *,
     float  *, blasint *, float  *, blasint *, float  *, blasint *);
void BLASFUNC(zher2) (char *, blasint *, double  *,
     double *, blasint *, double *, blasint *, double *, blasint *);
void BLASFUNC(xher2) (char *, blasint *, xdouble  *,
     xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);

void BLASFUNC(chpr2) (char *, blasint *, float   *,
     float  *, blasint *, float  *, blasint *, float  *);
void BLASFUNC(zhpr2) (char *, blasint *, double  *,
     double *, blasint *, double *, blasint *, double *);
void BLASFUNC(xhpr2) (char *, blasint *, xdouble  *,
     xdouble *, blasint *, xdouble *, blasint *, xdouble *);

void BLASFUNC(chemv) (char *, blasint *, float  *, float *, blasint *,
     float  *, blasint *, float *, float *, blasint *);
void BLASFUNC(zhemv) (char *, blasint *, double  *, double *, blasint *,
     double  *, blasint *, double *, double *, blasint *);
void BLASFUNC(xhemv) (char *, blasint *, xdouble  *, xdouble *, blasint *,
     xdouble  *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(chpmv) (char *, blasint *, float  *, float *,
     float  *, blasint *, float *, float *, blasint *);
void BLASFUNC(zhpmv) (char *, blasint *, double  *, double *,
     double  *, blasint *, double *, double *, blasint *);
void BLASFUNC(xhpmv) (char *, blasint *, xdouble  *, xdouble *,
     xdouble  *, blasint *, xdouble *, xdouble *, blasint *);

int BLASFUNC(snorm)(char *, blasint *, blasint *, float  *, blasint *);
int BLASFUNC(dnorm)(char *, blasint *, blasint *, double *, blasint *);
int BLASFUNC(cnorm)(char *, blasint *, blasint *, float  *, blasint *);
int BLASFUNC(znorm)(char *, blasint *, blasint *, double *, blasint *);

void BLASFUNC(sgbmv)(char *, blasint *, blasint *, blasint *, blasint
*, float  *, float  *, blasint *,
    float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(dgbmv)(char *, blasint *, blasint *, blasint *, blasint
*, double *, double *, blasint *,
    double *, blasint *, double *, double *, blasint *);
void BLASFUNC(qgbmv)(char *, blasint *, blasint *, blasint *, blasint
*, xdouble *, xdouble *, blasint *,
    xdouble *, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(cgbmv)(char *, blasint *, blasint *, blasint *, blasint
*, float  *, float  *, blasint *,
    float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zgbmv)(char *, blasint *, blasint *, blasint *, blasint
*, double *, double *, blasint *,
    double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xgbmv)(char *, blasint *, blasint *, blasint *, blasint
*, xdouble *, xdouble *, blasint *,
    xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(ssbmv)(char *, blasint *, blasint *, float  *, float  *,
blasint *,
    float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(dsbmv)(char *, blasint *, blasint *, double *, double *,
blasint *,
    double *, blasint *, double *, double *, blasint *);
void BLASFUNC(qsbmv)(char *, blasint *, blasint *, xdouble *, xdouble
*, blasint *,
    xdouble *, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(csbmv)(char *, blasint *, blasint *, float  *, float  *,
blasint *,
    float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zsbmv)(char *, blasint *, blasint *, double *, double *,
blasint *,
    double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xsbmv)(char *, blasint *, blasint *, xdouble *, xdouble
*, blasint *,
    xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(chbmv)(char *, blasint *, blasint *, float  *, float  *,
blasint *,
    float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zhbmv)(char *, blasint *, blasint *, double *, double *,
blasint *,
    double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xhbmv)(char *, blasint *, blasint *, xdouble *, xdouble
*, blasint *,
    xdouble *, blasint *, xdouble *, xdouble *, blasint *);

/* Level 3 routines */

void BLASFUNC(sbgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
   bfloat16 *, blasint *, bfloat16 *, blasint *, float *, float *, blasint *);
void BLASFUNC(sgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
   float  *, blasint *, float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(dgemm)(char *, char *, blasint *, blasint *, blasint *, double *,
   double *, blasint *, double *, blasint *, double *, double *, blasint *);
void BLASFUNC(qgemm)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
   xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(cgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
   float  *, blasint *, float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zgemm)(char *, char *, blasint *, blasint *, blasint *, double *,
   double *, blasint *, double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xgemm)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
   xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(cgemm3m)(char *, char *, blasint *, blasint *, blasint *, float *,
   float  *, blasint *, float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zgemm3m)(char *, char *, blasint *, blasint *, blasint
*, double *,
   double *, blasint *, double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xgemm3m)(char *, char *, blasint *, blasint *, blasint
*, xdouble *,
   xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(sgemmt)(char*, char *, char *, blasint *, blasint *, float *,
   float  *, blasint *, float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(dgemmt)(char*, char *, char *, blasint *, blasint *, double *,
   double *, blasint *, double *, blasint *, double *, double *, blasint *);
void BLASFUNC(cgemmt)(char*, char *, char *, blasint *, blasint *, float *,
   float  *, blasint *, float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zgemmt)(char*, char *, char *, blasint *, blasint *, double *,
   double *, blasint *, double *, blasint *, double *, double *, blasint *);

int BLASFUNC(sge2mm)(char *, char *, char *, blasint *, blasint *,
     float *, float  *, blasint *, float  *, blasint *,
     float *, float  *, blasint *);
int BLASFUNC(dge2mm)(char *, char *, char *, blasint *, blasint *,
     double *, double  *, blasint *, double  *, blasint *,
     double *, double  *, blasint *);
int BLASFUNC(cge2mm)(char *, char *, char *, blasint *, blasint *,
     float *, float  *, blasint *, float  *, blasint *,
     float *, float  *, blasint *);
int BLASFUNC(zge2mm)(char *, char *, char *, blasint *, blasint *,
     double *, double  *, blasint *, double  *, blasint *,
     double *, double  *, blasint *);

void BLASFUNC(strsm)(char *, char *, char *, char *, blasint *, blasint *,
   float *,  float *, blasint *, float *, blasint *);
void BLASFUNC(dtrsm)(char *, char *, char *, char *, blasint *, blasint *,
   double *,  double *, blasint *, double *, blasint *);
void BLASFUNC(qtrsm)(char *, char *, char *, char *, blasint *, blasint *,
   xdouble *,  xdouble *, blasint *, xdouble *, blasint *);
void BLASFUNC(ctrsm)(char *, char *, char *, char *, blasint *, blasint *,
   float *,  float *, blasint *, float *, blasint *);
void BLASFUNC(ztrsm)(char *, char *, char *, char *, blasint *, blasint *,
   double *,  double *, blasint *, double *, blasint *);
void BLASFUNC(xtrsm)(char *, char *, char *, char *, blasint *, blasint *,
   xdouble *,  xdouble *, blasint *, xdouble *, blasint *);

void BLASFUNC(strmm)(char *, char *, char *, char *, blasint *, blasint *,
   float *,  float *, blasint *, float *, blasint *);
void BLASFUNC(dtrmm)(char *, char *, char *, char *, blasint *, blasint *,
   double *,  double *, blasint *, double *, blasint *);
void BLASFUNC(qtrmm)(char *, char *, char *, char *, blasint *, blasint *,
   xdouble *,  xdouble *, blasint *, xdouble *, blasint *);
void BLASFUNC(ctrmm)(char *, char *, char *, char *, blasint *, blasint *,
   float *,  float *, blasint *, float *, blasint *);
void BLASFUNC(ztrmm)(char *, char *, char *, char *, blasint *, blasint *,
   double *,  double *, blasint *, double *, blasint *);
void BLASFUNC(xtrmm)(char *, char *, char *, char *, blasint *, blasint *,
   xdouble *,  xdouble *, blasint *, xdouble *, blasint *);

void BLASFUNC(ssymm)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(dsymm)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, blasint *, double *, double *, blasint *);
void BLASFUNC(qsymm)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble *, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(csymm)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zsymm)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xsymm)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(csymm3m)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zsymm3m)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xsymm3m)(char *, char *, blasint *, blasint *, xdouble
*, xdouble *, blasint *,
   xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(ssyrk)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, float  *, blasint *);
void BLASFUNC(dsyrk)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, double *, blasint *);
void BLASFUNC(qsyrk)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble *, xdouble *, blasint *);
void BLASFUNC(csyrk)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, float  *, blasint *);
void BLASFUNC(zsyrk)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, double *, blasint *);
void BLASFUNC(xsyrk)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble *, xdouble *, blasint *);

void BLASFUNC(ssyr2k)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(dsyr2k)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double*, blasint *, double *, double *, blasint *);
void BLASFUNC(qsyr2k)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble*, blasint *, xdouble *, xdouble *, blasint *);
void BLASFUNC(csyr2k)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zsyr2k)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double*, blasint *, double *, double *, blasint *);
void BLASFUNC(xsyr2k)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble*, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(chemm)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zhemm)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xhemm)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(chemm3m)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zhemm3m)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, blasint *, double *, double *, blasint *);
void BLASFUNC(xhemm3m)(char *, char *, blasint *, blasint *, xdouble
*, xdouble *, blasint *,
   xdouble *, blasint *, xdouble *, xdouble *, blasint *);

void BLASFUNC(cherk)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float  *, float  *, blasint *);
void BLASFUNC(zherk)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double *, double *, blasint *);
void BLASFUNC(xherk)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble *, xdouble *, blasint *);

void BLASFUNC(cher2k)(char *, char *, blasint *, blasint *, float  *,
float  *, blasint *,
   float *, blasint *, float  *, float  *, blasint *);
void BLASFUNC(zher2k)(char *, char *, blasint *, blasint *, double *,
double *, blasint *,
   double*, blasint *, double *, double *, blasint *);
void BLASFUNC(xher2k)(char *, char *, blasint *, blasint *, xdouble *,
xdouble *, blasint *,
   xdouble*, blasint *, xdouble *, xdouble *, blasint *);

int BLASFUNC(cher2m)(char *, char *, char *, blasint *, blasint *,
float  *, float  *, blasint *,
   float *, blasint *, float  *, float  *, blasint *);
int BLASFUNC(zher2m)(char *, char *, char *, blasint *, blasint *,
double *, double *, blasint *,
   double*, blasint *, double *, double *, blasint *);
int BLASFUNC(xher2m)(char *, char *, char *, blasint *, blasint *,
xdouble *, xdouble *, blasint *,
   xdouble*, blasint *, xdouble *, xdouble *, blasint *);

int BLASFUNC(sgemt)(char *, blasint *, blasint *, float  *, float  *, blasint *,
    float  *, blasint *);
int BLASFUNC(dgemt)(char *, blasint *, blasint *, double *, double *, blasint *,
    double *, blasint *);
int BLASFUNC(cgemt)(char *, blasint *, blasint *, float  *, float  *, blasint *,
    float  *, blasint *);
int BLASFUNC(zgemt)(char *, blasint *, blasint *, double *, double *, blasint *,
    double *, blasint *);

int BLASFUNC(sgema)(char *, char *, blasint *, blasint *, float  *,
    float  *, blasint *, float *, float  *, blasint *, float *, blasint *);
int BLASFUNC(dgema)(char *, char *, blasint *, blasint *, double *,
    double *, blasint *, double*, double *, blasint *, double*, blasint *);
int BLASFUNC(cgema)(char *, char *, blasint *, blasint *, float  *,
    float  *, blasint *, float *, float  *, blasint *, float *, blasint *);
int BLASFUNC(zgema)(char *, char *, blasint *, blasint *, double *,
    double *, blasint *, double*, double *, blasint *, double*, blasint *);

int BLASFUNC(sgems)(char *, char *, blasint *, blasint *, float  *,
    float  *, blasint *, float *, float  *, blasint *, float *, blasint *);
int BLASFUNC(dgems)(char *, char *, blasint *, blasint *, double *,
    double *, blasint *, double*, double *, blasint *, double*, blasint *);
int BLASFUNC(cgems)(char *, char *, blasint *, blasint *, float  *,
    float  *, blasint *, float *, float  *, blasint *, float *, blasint *);
int BLASFUNC(zgems)(char *, char *, blasint *, blasint *, double *,
    double *, blasint *, double*, double *, blasint *, double*, blasint *);

int BLASFUNC(sgemc)(char *, char *, blasint *, blasint *, blasint *, float *,
   float  *, blasint *, float  *, blasint *, float  *, blasint *,
float  *, float  *, blasint *);
int BLASFUNC(dgemc)(char *, char *, blasint *, blasint *, blasint *, double *,
   double *, blasint *, double *, blasint *, double *, blasint *,
double *, double *, blasint *);
int BLASFUNC(qgemc)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
   xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *,
xdouble *, xdouble *, blasint *);
int BLASFUNC(cgemc)(char *, char *, blasint *, blasint *, blasint *, float *,
   float  *, blasint *, float  *, blasint *, float  *, blasint *,
float  *, float  *, blasint *);
int BLASFUNC(zgemc)(char *, char *, blasint *, blasint *, blasint *, double *,
   double *, blasint *, double *, blasint *, double *, blasint *,
double *, double *, blasint *);
int BLASFUNC(xgemc)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
   xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *,
xdouble *, xdouble *, blasint *);

/* Lapack routines */

int BLASFUNC(sgetf2)(blasint *, blasint *, float  *, blasint *,
blasint *, blasint *);
int BLASFUNC(dgetf2)(blasint *, blasint *, double *, blasint *,
blasint *, blasint *);
int BLASFUNC(qgetf2)(blasint *, blasint *, xdouble *, blasint *,
blasint *, blasint *);
int BLASFUNC(cgetf2)(blasint *, blasint *, float  *, blasint *,
blasint *, blasint *);
int BLASFUNC(zgetf2)(blasint *, blasint *, double *, blasint *,
blasint *, blasint *);
int BLASFUNC(xgetf2)(blasint *, blasint *, xdouble *, blasint *,
blasint *, blasint *);

int BLASFUNC(sgetrf)(blasint *, blasint *, float  *, blasint *,
blasint *, blasint *);
int BLASFUNC(dgetrf)(blasint *, blasint *, double *, blasint *,
blasint *, blasint *);
int BLASFUNC(qgetrf)(blasint *, blasint *, xdouble *, blasint *,
blasint *, blasint *);
int BLASFUNC(cgetrf)(blasint *, blasint *, float  *, blasint *,
blasint *, blasint *);
int BLASFUNC(zgetrf)(blasint *, blasint *, double *, blasint *,
blasint *, blasint *);
int BLASFUNC(xgetrf)(blasint *, blasint *, xdouble *, blasint *,
blasint *, blasint *);

int BLASFUNC(slaswp)(blasint *, float  *, blasint *, blasint *,
blasint *, blasint *, blasint *);
int BLASFUNC(dlaswp)(blasint *, double *, blasint *, blasint *,
blasint *, blasint *, blasint *);
int BLASFUNC(qlaswp)(blasint *, xdouble *, blasint *, blasint *,
blasint *, blasint *, blasint *);
int BLASFUNC(claswp)(blasint *, float  *, blasint *, blasint *,
blasint *, blasint *, blasint *);
int BLASFUNC(zlaswp)(blasint *, double *, blasint *, blasint *,
blasint *, blasint *, blasint *);
int BLASFUNC(xlaswp)(blasint *, xdouble *, blasint *, blasint *,
blasint *, blasint *, blasint *);

int BLASFUNC(sgetrs)(char *, blasint *, blasint *, float  *, blasint
*, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dgetrs)(char *, blasint *, blasint *, double *, blasint
*, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qgetrs)(char *, blasint *, blasint *, xdouble *, blasint
*, blasint *, xdouble *, blasint *, blasint *);
int BLASFUNC(cgetrs)(char *, blasint *, blasint *, float  *, blasint
*, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(zgetrs)(char *, blasint *, blasint *, double *, blasint
*, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xgetrs)(char *, blasint *, blasint *, xdouble *, blasint
*, blasint *, xdouble *, blasint *, blasint *);

int BLASFUNC(sgesv)(blasint *, blasint *, float  *, blasint *, blasint
*, float *, blasint *, blasint *);
int BLASFUNC(dgesv)(blasint *, blasint *, double *, blasint *, blasint
*, double*, blasint *, blasint *);
int BLASFUNC(qgesv)(blasint *, blasint *, xdouble *, blasint *,
blasint *, xdouble*, blasint *, blasint *);
int BLASFUNC(cgesv)(blasint *, blasint *, float  *, blasint *, blasint
*, float *, blasint *, blasint *);
int BLASFUNC(zgesv)(blasint *, blasint *, double *, blasint *, blasint
*, double*, blasint *, blasint *);
int BLASFUNC(xgesv)(blasint *, blasint *, xdouble *, blasint *,
blasint *, xdouble*, blasint *, blasint *);

int BLASFUNC(spotf2)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dpotf2)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qpotf2)(char *, blasint *, xdouble *, blasint *, blasint *);
int BLASFUNC(cpotf2)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(zpotf2)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xpotf2)(char *, blasint *, xdouble *, blasint *, blasint *);

int BLASFUNC(spotrf)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dpotrf)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qpotrf)(char *, blasint *, xdouble *, blasint *, blasint *);
int BLASFUNC(cpotrf)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(zpotrf)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xpotrf)(char *, blasint *, xdouble *, blasint *, blasint *);

int BLASFUNC(spotri)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dpotri)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qpotri)(char *, blasint *, xdouble *, blasint *, blasint *);
int BLASFUNC(cpotri)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(zpotri)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xpotri)(char *, blasint *, xdouble *, blasint *, blasint *);

int BLASFUNC(spotrs)(char *, blasint *, blasint *, float   *, blasint
*, float   *, blasint *, blasint *);
int BLASFUNC(dpotrs)(char *, blasint *, blasint *, double  *, blasint
*, double  *, blasint *, blasint *);
int BLASFUNC(qpotrs)(char *, blasint *, blasint *, xdouble *, blasint
*, xdouble *, blasint *, blasint *);
int BLASFUNC(cpotrs)(char *, blasint *, blasint *, float   *, blasint
*, float   *, blasint *, blasint *);
int BLASFUNC(zpotrs)(char *, blasint *, blasint *, double  *, blasint
*, double  *, blasint *, blasint *);
int BLASFUNC(xpotrs)(char *, blasint *, blasint *, xdouble *, blasint
*, xdouble *, blasint *, blasint *);

int BLASFUNC(slauu2)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dlauu2)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qlauu2)(char *, blasint *, xdouble *, blasint *, blasint *);
int BLASFUNC(clauu2)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(zlauu2)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xlauu2)(char *, blasint *, xdouble *, blasint *, blasint *);

int BLASFUNC(slauum)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dlauum)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qlauum)(char *, blasint *, xdouble *, blasint *, blasint *);
int BLASFUNC(clauum)(char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(zlauum)(char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xlauum)(char *, blasint *, xdouble *, blasint *, blasint *);

int BLASFUNC(strti2)(char *, char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dtrti2)(char *, char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qtrti2)(char *, char *, blasint *, xdouble *, blasint *,
blasint *);
int BLASFUNC(ctrti2)(char *, char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(ztrti2)(char *, char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xtrti2)(char *, char *, blasint *, xdouble *, blasint *,
blasint *);

int BLASFUNC(strtri)(char *, char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(dtrtri)(char *, char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(qtrtri)(char *, char *, blasint *, xdouble *, blasint *,
blasint *);
int BLASFUNC(ctrtri)(char *, char *, blasint *, float  *, blasint *, blasint *);
int BLASFUNC(ztrtri)(char *, char *, blasint *, double *, blasint *, blasint *);
int BLASFUNC(xtrtri)(char *, char *, blasint *, xdouble *, blasint *,
blasint *);


FLOATRET  BLASFUNC(slamch)(char *);
double    BLASFUNC(dlamch)(char *);
xdouble   BLASFUNC(qlamch)(char *);

FLOATRET  BLASFUNC(slamc3)(float *, float *);
double    BLASFUNC(dlamc3)(double *, double *);
xdouble   BLASFUNC(qlamc3)(xdouble *, xdouble *);

/* BLAS extensions */

void    BLASFUNC(saxpby) (blasint *, float  *, float  *, blasint *,
float *, float  *, blasint *);
void    BLASFUNC(daxpby) (blasint *, double  *, double  *, blasint *,
double *, double  *, blasint *);
void    BLASFUNC(caxpby) (blasint *, void  *, float  *, blasint *,
void *, float  *, blasint *);
void    BLASFUNC(zaxpby) (blasint *, void  *, double *, blasint *,
void *, double  *, blasint *);

void    BLASFUNC(somatcopy) (char *, char *, blasint *, blasint *,
float  *, float  *, blasint *, float  *, blasint *);
void    BLASFUNC(domatcopy) (char *, char *, blasint *, blasint *,
double  *, double  *, blasint *, double  *, blasint *);
void    BLASFUNC(comatcopy) (char *, char *, blasint *, blasint *,
float  *, float  *, blasint *, float  *, blasint *);
void    BLASFUNC(zomatcopy) (char *, char *, blasint *, blasint *,
double  *, double  *, blasint *, double  *, blasint *);

void    BLASFUNC(simatcopy) (char *, char *, blasint *, blasint *,
float  *, float  *, blasint *, blasint *);
void    BLASFUNC(dimatcopy) (char *, char *, blasint *, blasint *,
double  *, double  *, blasint *, blasint *);
void    BLASFUNC(cimatcopy) (char *, char *, blasint *, blasint *,
float  *, float  *, blasint *, blasint *);
void    BLASFUNC(zimatcopy) (char *, char *, blasint *, blasint *,
double  *, double  *, blasint *, blasint *);

void    BLASFUNC(sgeadd) (blasint *, blasint *, float *, float *,
blasint *, float *, float *, blasint*);
void    BLASFUNC(dgeadd) (blasint *, blasint *, double *, double *,
blasint *, double *, double *, blasint*);
void    BLASFUNC(cgeadd) (blasint *, blasint *, float *, float *,
blasint *, float *, float *, blasint*);
void    BLASFUNC(zgeadd) (blasint *, blasint *, double *, double *,
blasint *, double *, double *, blasint*);


#ifdef __cplusplus
}

#endif  /* __cplusplus */

#endif
#endif



## openblas_config.h
#ifndef OPENBLAS_CONFIG_H
#define OPENBLAS_CONFIG_H
#define OPENBLAS_OS_WINNT 1
#define OPENBLAS_ARCH_X86_64 1
#define OPENBLAS_C_GCC 1
#define OPENBLAS___64BIT__ 1
#define OPENBLAS_HAVE_C11 1
#define OPENBLAS_PTHREAD_CREATE_FUNC pthread_create
#define OPENBLAS_BUNDERSCORE _
#define OPENBLAS_NEEDBUNDERSCORE 1
#define OPENBLAS_COOPERLAKE
#define OPENBLAS_L1_CODE_SIZE 49152
#define OPENBLAS_L1_CODE_ASSOCIATIVE 12
#define OPENBLAS_L1_CODE_LINESIZE 64
#define OPENBLAS_L1_DATA_SIZE 49152
#define OPENBLAS_L1_DATA_ASSOCIATIVE 12
#define OPENBLAS_L1_DATA_LINESIZE 64
#define OPENBLAS_L2_SIZE 1048576
#define OPENBLAS_L2_ASSOCIATIVE 16
#define OPENBLAS_L2_LINESIZE 64
#define OPENBLAS_L3_SIZE 100663296
#define OPENBLAS_L3_ASSOCIATIVE 9
#define OPENBLAS_L3_LINESIZE 64
#define OPENBLAS_ITB_SIZE 4096
#define OPENBLAS_ITB_ASSOCIATIVE 0
#define OPENBLAS_ITB_ENTRIES 64
#define OPENBLAS_DTB_SIZE 4096
#define OPENBLAS_DTB_ASSOCIATIVE 0
#define OPENBLAS_DTB_DEFAULT_ENTRIES 96
#define OPENBLAS_HAVE_CMOV
#define OPENBLAS_HAVE_MMX
#define OPENBLAS_HAVE_SSE
#define OPENBLAS_HAVE_SSE2
#define OPENBLAS_HAVE_SSE3
#define OPENBLAS_HAVE_SSSE3
#define OPENBLAS_HAVE_SSE4_1
#define OPENBLAS_HAVE_SSE4_2
#define OPENBLAS_HAVE_SSE4A
#define OPENBLAS_HAVE_AVX
#define OPENBLAS_HAVE_AVX2
#define OPENBLAS_HAVE_AVX512VL
#define OPENBLAS_HAVE_AVX512BF16
#define OPENBLAS_HAVE_FMA3
#define OPENBLAS_HAVE_CFLUSH
#define OPENBLAS_HAVE_MISALIGNSSE
#define OPENBLAS_HAVE_FASTMOVU
#define OPENBLAS_NUM_SHAREDCACHE 1
#define OPENBLAS_NUM_CORES 1
#define OPENBLAS_CORE_COOPERLAKE
#define OPENBLAS_CHAR_CORENAME "COOPERLAKE"
#define OPENBLAS_SLOCAL_BUFFER_SIZE 20480
#define OPENBLAS_DLOCAL_BUFFER_SIZE 12288
#define OPENBLAS_CLOCAL_BUFFER_SIZE 12288
#define OPENBLAS_ZLOCAL_BUFFER_SIZE 8192
#define OPENBLAS_GEMM_MULTITHREAD_THRESHOLD 4
#define OPENBLAS_VERSION " OpenBLAS 0.3.29 "
/*This is only for "make install" target.*/

#if defined(OPENBLAS_OS_WINNT) || defined(OPENBLAS_OS_CYGWIN_NT) ||
defined(OPENBLAS_OS_INTERIX)
#define OPENBLAS_WINDOWS_ABI
#define OPENBLAS_OS_WINDOWS

#ifdef DOUBLE
#define DOUBLE_DEFINED DOUBLE
#undef  DOUBLE
#endif
#endif

#ifdef OPENBLAS_NEEDBUNDERSCORE
#define BLASFUNC(FUNC) FUNC##_
#else
#define BLASFUNC(FUNC) FUNC
#endif

#ifdef OPENBLAS_QUAD_PRECISION
typedef struct {
  unsigned long x[2];
}  xdouble;
#elif defined OPENBLAS_EXPRECISION
#define xdouble long double
#else
#define xdouble double
#endif

#if defined(OPENBLAS_OS_WINDOWS) && defined(OPENBLAS___64BIT__)
typedef long long BLASLONG;
typedef unsigned long long BLASULONG;
#else
typedef long BLASLONG;
typedef unsigned long BLASULONG;
#endif

#ifndef BFLOAT16
#include <stdint.h>
typedef uint16_t bfloat16;
#endif

#ifdef OPENBLAS_USE64BITINT
typedef BLASLONG blasint;
#else
typedef int blasint;
#endif

#if defined(XDOUBLE) || defined(DOUBLE)
#define FLOATRET FLOAT
#else
#ifdef NEED_F2CCONV
#define FLOATRET double
#else
#define FLOATRET float
#endif
#endif

/* Inclusion of a standard header file is needed for definition of __STDC_*
   predefined macros with some compilers (e.g. GCC 4.7 on Linux).  This occurs
   as a side effect of including either <features.h> or <stdc-predef.h>. */
#include <stdio.h>

/* C99 supports complex floating numbers natively, which GCC also offers as an
   extension since version 3.0.  If neither are available, use a compatible
   structure as fallback (see Clause 6.2.5.13 of the C99 standard). */
#if ((defined(__STDC_IEC_559_COMPLEX__) || __STDC_VERSION__ >= 199901L || \
      (__GNUC__ >= 3 && !defined(__cplusplus))) &&
!(defined(FORCE_OPENBLAS_COMPLEX_STRUCT))) && !defined(_MSC_VER)
  #define OPENBLAS_COMPLEX_C99
#ifndef __cplusplus
  #include <complex.h>
#endif
  typedef float _Complex openblas_complex_float;
  typedef double _Complex openblas_complex_double;
  typedef xdouble _Complex openblas_complex_xdouble;
  #define openblas_make_complex_float(real, imag)    ((real) + ((imag)
* _Complex_I))
  #define openblas_make_complex_double(real, imag)   ((real) + ((imag)
* _Complex_I))
  #define openblas_make_complex_xdouble(real, imag)  ((real) + ((imag)
* _Complex_I))
  #define openblas_complex_float_real(z)             (creal(z))
  #define openblas_complex_float_imag(z)             (cimag(z))
  #define openblas_complex_double_real(z)            (creal(z))
  #define openblas_complex_double_imag(z)            (cimag(z))
  #define openblas_complex_xdouble_real(z)           (creal(z))
  #define openblas_complex_xdouble_imag(z)           (cimag(z))
#else
  #define OPENBLAS_COMPLEX_STRUCT
  typedef struct { float real, imag; } openblas_complex_float;
  typedef struct { double real, imag; } openblas_complex_double;
  typedef struct { xdouble real, imag; } openblas_complex_xdouble;
  #define openblas_make_complex_float(real, imag)    {(real), (imag)}
  #define openblas_make_complex_double(real, imag)   {(real), (imag)}
  #define openblas_make_complex_xdouble(real, imag)  {(real), (imag)}
  #define openblas_complex_float_real(z)             ((z).real)
  #define openblas_complex_float_imag(z)             ((z).imag)
  #define openblas_complex_double_real(z)            ((z).real)
  #define openblas_complex_double_imag(z)            ((z).imag)
  #define openblas_complex_xdouble_real(z)           ((z).real)
  #define openblas_complex_xdouble_imag(z)           ((z).imag)
#endif

/* Inclusion of Linux-specific header is needed for definition of cpu_set_t. */
#ifdef OPENBLAS_OS_LINUX
#ifndef _GNU_SOURCE
 #define _GNU_SOURCE
#endif
#include <sched.h>
#endif
#endif /* OPENBLAS_CONFIG_H */




## Huge error List
cp R.dll ../../bin/x64
gcc  -O3 -I../../include  -c blas00.c -o blas00.o
In file included from ../../include/R.h:78,
                 from blas00.c:2:
blas00.c: In function 'blas_dummy':
blas00.c:7:14: error: too few arguments to function 'dasum_'
    7 |     F77_CALL(dasum)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
In file included from ../../include/f77blas.h:3,
                 from blas00.c:3:
../../include/f77blas.h:133:17: note: declared here
  133 | double BLASFUNC(dasum) (blasint *, double *, blasint *);
      |                 ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:8:14: error: too few arguments to function 'daxpy_'
    8 |     F77_CALL(daxpy)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:108:18: note: declared here
  108 | void    BLASFUNC(daxpy) (blasint *, double *, double *,
blasint *, double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:9:14: error: too few arguments to function 'dcopy_'
    9 |     F77_CALL(dcopy)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:118:18: note: declared here
  118 | void    BLASFUNC(dcopy) (blasint *, double *, blasint *,
double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:10:14: error: too few arguments to function 'ddot_'
   10 |     F77_CALL(ddot)();
      |              ^~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:62:17: note: declared here
   62 | double BLASFUNC(ddot)  (blasint *, double *, blasint *, double
*, blasint *);
      |                 ^~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:11:14: error: too few arguments to function 'dgbmv_'
   11 |     F77_CALL(dgbmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:454:15: note: declared here
  454 | void BLASFUNC(dgbmv)(char *, blasint *, blasint *, blasint *,
blasint *, double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:12:14: error: too few arguments to function 'dgemm_'
   12 |     F77_CALL(dgemm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:491:15: note: declared here
  491 | void BLASFUNC(dgemm)(char *, char *, blasint *, blasint *,
blasint *, double *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:13:14: error: too few arguments to function 'dgemv_'
   13 |     F77_CALL(dgemv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:265:15: note: declared here
  265 | void BLASFUNC(dgemv)(char *, blasint *, blasint *, double *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:14:14: error: too few arguments to function 'dger_'
   14 |     F77_CALL(dger)();
      |              ^~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:244:15: note: declared here
  244 | void BLASFUNC(dger)(blasint *,    blasint *, double *, double
*, blasint *,
      |               ^~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:15:14: error: too few arguments to function 'dnrm2_'
   15 |     F77_CALL(dnrm2)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:214:17: note: declared here
  214 | double BLASFUNC(dnrm2) (blasint *, double *, blasint *);
      |                 ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:16:14: error: too few arguments to function 'drot_'
   16 |     F77_CALL(drot)();
      |              ^~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:220:16: note: declared here
  220 | void  BLASFUNC(drot)  (blasint *, double *, blasint *, double
*, blasint *, double *, double *);
      |                ^~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:17:14: error: too few arguments to function 'drotg_'
   17 |     F77_CALL(drotg)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:227:16: note: declared here
  227 | void  BLASFUNC(drotg) (double *, double *, double *, double *);
      |                ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:18:14: error: too few arguments to function 'drotm_'
   18 |     F77_CALL(drotm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:237:16: note: declared here
  237 | void  BLASFUNC(drotm) (blasint *, double *, blasint *, double
*, blasint *, double *);
      |                ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:19:14: error: too few arguments to function 'drotmg_'
   19 |     F77_CALL(drotmg)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:234:16: note: declared here
  234 | void  BLASFUNC(drotmg)(double *, double *, double *, double *,
double *);
      |                ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:20:14: error: too few arguments to function 'dsbmv_'
   20 |     F77_CALL(dsbmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:467:15: note: declared here
  467 | void BLASFUNC(dsbmv)(char *, blasint *, blasint *, double *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:21:14: error: too few arguments to function 'dscal_'
   21 |     F77_CALL(dscal)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:202:18: note: declared here
  202 | void    BLASFUNC(dscal) (blasint *,  double *, double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:22:14: error: too few arguments to function 'dsdot_'
   22 |     F77_CALL(dsdot)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:61:17: note: declared here
   61 | double BLASFUNC(dsdot) (blasint *, float  *, blasint *, float
*, blasint *);
      |                 ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:23:14: error: too few arguments to function 'dspmv_'
   23 |     F77_CALL(dspmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:345:15: note: declared here
  345 | void BLASFUNC(dspmv) (char *, blasint *, double  *, double *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:24:14: error: too few arguments to function 'dspr_'
   24 |     F77_CALL(dspr)();
      |              ^~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:384:15: note: declared here
  384 | void BLASFUNC(dspr) (char *, blasint *, double  *, double *, blasint *,
      |               ^~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:25:14: error: too few arguments to function 'dspr2_'
   25 |     F77_CALL(dspr2)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:397:15: note: declared here
  397 | void BLASFUNC(dspr2) (char *, blasint *, double  *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:26:14: error: too few arguments to function 'dswap_'
   26 |     F77_CALL(dswap)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:125:18: note: declared here
  125 | void    BLASFUNC(dswap) (blasint *, double *, blasint *,
double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:27:14: error: too few arguments to function 'dsymm_'
   27 |     F77_CALL(dsymm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:559:15: note: declared here
  559 | void BLASFUNC(dsymm)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:28:14: error: too few arguments to function 'dsymv_'
   28 |     F77_CALL(dsymv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:332:15: note: declared here
  332 | void BLASFUNC(dsymv) (char *, blasint *, double  *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:29:14: error: too few arguments to function 'dsyr_'
   29 |     F77_CALL(dsyr)();
      |              ^~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:358:15: note: declared here
  358 | void BLASFUNC(dsyr) (char *, blasint *, double  *, double *, blasint *,
      |               ^~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:30:14: error: too few arguments to function 'dsyr2_'
   30 |     F77_CALL(dsyr2)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:371:15: note: declared here
  371 | void BLASFUNC(dsyr2) (char *, blasint *, double  *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:31:14: error: too few arguments to function 'dsyr2k_'
   31 |     F77_CALL(dsyr2k)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:592:15: note: declared here
  592 | void BLASFUNC(dsyr2k)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:32:14: error: too few arguments to function 'dsyrk_'
   32 |     F77_CALL(dsyrk)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:579:15: note: declared here
  579 | void BLASFUNC(dsyrk)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:33:14: error: too few arguments to function 'dtbmv_'
   33 |     F77_CALL(dtbmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:317:15: note: declared here
  317 | void BLASFUNC(dtbmv) (char *, char *, char *, blasint *,
blasint *, double *, blasint *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:34:14: error: too few arguments to function 'dtbsv_'
   34 |     F77_CALL(dtbsv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:324:15: note: declared here
  324 | void BLASFUNC(dtbsv) (char *, char *, char *, blasint *,
blasint *, double *, blasint *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:35:14: error: too few arguments to function 'dtpmv_'
   35 |     F77_CALL(dtpmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:310:15: note: declared here
  310 | void BLASFUNC(dtpmv) (char *, char *, char *, blasint *,
double *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:36:14: error: too few arguments to function 'dtpsv_'
   36 |     F77_CALL(dtpsv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:303:15: note: declared here
  303 | void BLASFUNC(dtpsv) (char *, char *, char *, blasint *,
double *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:37:14: error: too few arguments to function 'dtrmm_'
   37 |     F77_CALL(dtrmm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:546:15: note: declared here
  546 | void BLASFUNC(dtrmm)(char *, char *, char *, char *, blasint
*, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:38:14: error: too few arguments to function 'dtrmv_'
   38 |     F77_CALL(dtrmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:291:15: note: declared here
  291 | void BLASFUNC(dtrmv) (char *, char *, char *, blasint *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:39:14: error: too few arguments to function 'dtrsm_'
   39 |     F77_CALL(dtrsm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:533:15: note: declared here
  533 | void BLASFUNC(dtrsm)(char *, char *, char *, char *, blasint
*, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:40:14: error: too few arguments to function 'dtrsv_'
   40 |     F77_CALL(dtrsv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:278:15: note: declared here
  278 | void BLASFUNC(dtrsv) (char *, char *, char *, blasint *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:41:14: error: too few arguments to function 'idamax_'
   41 |     F77_CALL(idamax)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:146:21: note: declared here
  146 | blasint    BLASFUNC(idamax)(blasint *, double *, blasint *);
      |                     ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:42:14: error: implicit declaration of function 'lsame_'
[-Wimplicit-function-declaration]
   42 |     F77_CALL(lsame)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
blas00.c:45:14: error: implicit declaration of function 'dcabs1_'
[-Wimplicit-function-declaration]
   45 |     F77_CALL(dcabs1)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
blas00.c:46:14: error: too few arguments to function 'dzasum_'
   46 |     F77_CALL(dzasum)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:135:17: note: declared here
  135 | double BLASFUNC(dzasum)(blasint *, double *, blasint *);
      |                 ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:47:14: error: too few arguments to function 'dznrm2_'
   47 |     F77_CALL(dznrm2)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:216:17: note: declared here
  216 | double BLASFUNC(dznrm2)(blasint *, double *, blasint *);
      |                 ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:48:14: error: too few arguments to function 'izamax_'
   48 |     F77_CALL(izamax)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:149:21: note: declared here
  149 | blasint    BLASFUNC(izamax)(blasint *, double *, blasint *);
      |                     ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:49:14: error: too few arguments to function 'zaxpy_'
   49 |     F77_CALL(zaxpy)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:111:18: note: declared here
  111 | void    BLASFUNC(zaxpy) (blasint *, double *, double *,
blasint *, double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:50:14: error: too few arguments to function 'zcopy_'
   50 |     F77_CALL(zcopy)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:121:18: note: declared here
  121 | void    BLASFUNC(zcopy) (blasint *, double *, blasint *,
double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:51:14: error: too few arguments to function 'zdotc_'
   51 |     F77_CALL(zdotc)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:102:35: note: declared here
  102 | openblas_complex_double  BLASFUNC(zdotc)  (blasint *, double
*, blasint *, double  *, blasint *);
      |                                   ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:52:14: error: too few arguments to function 'zdotu_'
   52 |     F77_CALL(zdotu)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:101:35: note: declared here
  101 | openblas_complex_double  BLASFUNC(zdotu)  (blasint *, double
*, blasint *, double  *, blasint *);
      |                                   ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:53:14: error: too few arguments to function 'zdrot_'
   53 |     F77_CALL(zdrot)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:223:16: note: declared here
  223 | void  BLASFUNC(zdrot) (blasint *, double *, blasint *, double
*, blasint *, double *, double *);
      |                ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:54:14: error: too few arguments to function 'zdscal_'
   54 |     F77_CALL(zdscal)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:208:18: note: declared here
  208 | void    BLASFUNC(zdscal)(blasint *,  double *, double *, blasint *);
      |                  ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:55:14: error: too few arguments to function 'zgbmv_'
   55 |     F77_CALL(zgbmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:460:15: note: declared here
  460 | void BLASFUNC(zgbmv)(char *, blasint *, blasint *, blasint *,
blasint *, double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:56:14: error: too few arguments to function 'zgemm_'
   56 |     F77_CALL(zgemm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:497:15: note: declared here
  497 | void BLASFUNC(zgemm)(char *, char *, blasint *, blasint *,
blasint *, double *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:57:14: error: too few arguments to function 'zgemv_'
   57 |     F77_CALL(zgemv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:271:15: note: declared here
  271 | void BLASFUNC(zgemv)(char *, blasint *, blasint *, double *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:58:14: error: too few arguments to function 'zgerc_'
   58 |     F77_CALL(zgerc)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:254:15: note: declared here
  254 | void BLASFUNC(zgerc)(blasint *,    blasint *, double *, double
*, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:59:14: error: too few arguments to function 'zgeru_'
   59 |     F77_CALL(zgeru)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:252:15: note: declared here
  252 | void BLASFUNC(zgeru)(blasint *,    blasint *, double *, double
*, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:60:14: error: too few arguments to function 'zhbmv_'
   60 |     F77_CALL(zhbmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:480:15: note: declared here
  480 | void BLASFUNC(zhbmv)(char *, blasint *, blasint *, double *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:61:14: error: too few arguments to function 'zhemm_'
   61 |     F77_CALL(zhemm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:605:15: note: declared here
  605 | void BLASFUNC(zhemm)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:62:14: error: too few arguments to function 'zhemv_'
   62 |     F77_CALL(zhemv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:435:15: note: declared here
  435 | void BLASFUNC(zhemv) (char *, blasint *, double  *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:63:14: error: too few arguments to function 'zher_'
   63 |     F77_CALL(zher)();
      |              ^~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:410:15: note: declared here
  410 | void BLASFUNC(zher) (char *, blasint *, double  *, double *, blasint *,
      |               ^~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:64:14: error: too few arguments to function 'zherk_'
   64 |     F77_CALL(zherk)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:619:15: note: declared here
  619 | void BLASFUNC(zherk)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:65:14: error: too few arguments to function 'zher2_'
   65 |     F77_CALL(zher2)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:421:15: note: declared here
  421 | void BLASFUNC(zher2) (char *, blasint *, double  *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:66:14: error: too few arguments to function 'zher2k_'
   66 |     F77_CALL(zher2k)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:626:15: note: declared here
  626 | void BLASFUNC(zher2k)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:67:14: error: too few arguments to function 'zhpmv_'
   67 |     F77_CALL(zhpmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:442:15: note: declared here
  442 | void BLASFUNC(zhpmv) (char *, blasint *, double  *, double *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:68:14: error: too few arguments to function 'zhpr_'
   68 |     F77_CALL(zhpr)();
      |              ^~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:416:15: note: declared here
  416 | void BLASFUNC(zhpr) (char *, blasint *, double  *, double *,
blasint *, double *);
      |               ^~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:69:14: error: too few arguments to function 'zhpr2_'
   69 |     F77_CALL(zhpr2)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:428:15: note: declared here
  428 | void BLASFUNC(zhpr2) (char *, blasint *, double  *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:70:14: error: too few arguments to function 'zrotg_'
   70 |     F77_CALL(zrotg)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:230:16: note: declared here
  230 | void  BLASFUNC(zrotg) (double *, double *, double *, double *);
      |                ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:71:14: error: too few arguments to function 'zscal_'
   71 |     F77_CALL(zscal)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:205:18: note: declared here
  205 | void    BLASFUNC(zscal) (blasint *,  double *, double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:72:14: error: too few arguments to function 'zswap_'
   72 |     F77_CALL(zswap)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:128:18: note: declared here
  128 | void    BLASFUNC(zswap) (blasint *, double *, blasint *,
double *, blasint *);
      |                  ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:73:14: error: too few arguments to function 'zsymm_'
   73 |     F77_CALL(zsymm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:565:15: note: declared here
  565 | void BLASFUNC(zsymm)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:74:14: error: too few arguments to function 'zsyr2k_'
   74 |     F77_CALL(zsyr2k)();
      |              ^~~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:598:15: note: declared here
  598 | void BLASFUNC(zsyr2k)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:75:14: error: too few arguments to function 'zsyrk_'
   75 |     F77_CALL(zsyrk)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:585:15: note: declared here
  585 | void BLASFUNC(zsyrk)(char *, char *, blasint *, blasint *,
double *, double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:76:14: error: too few arguments to function 'ztbmv_'
   76 |     F77_CALL(ztbmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:320:15: note: declared here
  320 | void BLASFUNC(ztbmv) (char *, char *, char *, blasint *,
blasint *, double *, blasint *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:77:14: error: too few arguments to function 'ztbsv_'
   77 |     F77_CALL(ztbsv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:327:15: note: declared here
  327 | void BLASFUNC(ztbsv) (char *, char *, char *, blasint *,
blasint *, double *, blasint *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:78:14: error: too few arguments to function 'ztpmv_'
   78 |     F77_CALL(ztpmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:313:15: note: declared here
  313 | void BLASFUNC(ztpmv) (char *, char *, char *, blasint *,
double *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:79:14: error: too few arguments to function 'ztpsv_'
   79 |     F77_CALL(ztpsv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:306:15: note: declared here
  306 | void BLASFUNC(ztpsv) (char *, char *, char *, blasint *,
double *, double *, blasint *);
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:80:14: error: too few arguments to function 'ztrmm_'
   80 |     F77_CALL(ztrmm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:552:15: note: declared here
  552 | void BLASFUNC(ztrmm)(char *, char *, char *, char *, blasint
*, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:81:14: error: too few arguments to function 'ztrmv_'
   81 |     F77_CALL(ztrmv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:297:15: note: declared here
  297 | void BLASFUNC(ztrmv) (char *, char *, char *, blasint *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:82:14: error: too few arguments to function 'ztrsm_'
   82 |     F77_CALL(ztrsm)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:539:15: note: declared here
  539 | void BLASFUNC(ztrsm)(char *, char *, char *, char *, blasint
*, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~
blas00.c:83:14: error: too few arguments to function 'ztrsv_'
   83 |     F77_CALL(ztrsv)();
      |              ^~~~~
../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
   98 | # define F77_CALL(x)    x ## _
      |                         ^
../../include/f77blas.h:284:15: note: declared here
  284 | void BLASFUNC(ztrsv) (char *, char *, char *, blasint *,
double *, blasint *,
      |               ^~~~~
../../include/openblas_config.h:70:24: note: in definition of macro 'BLASFUNC'
   70 | #define BLASFUNC(FUNC) FUNC##_
      |                        ^~~~

On Sun, Mar 23, 2025 at 2:10 PM Avraham Adler <avraham.adler using gmail.com> wrote:
>
> Hi, Tomas.
>
> I tested and this happens when I try to link to a precompiled static
> OpenBLAS (as per the prior post). When I build R with no outside BLAS
> this does not happen. Do you have any suggestions about how to
> proceed?
>
> Thank you,
>
> Avi
>
> On Thu, Mar 20, 2025 at 11:00 PM Avraham Adler <avraham.adler using gmail.com> wrote:
> >
> > Hello.
> >
> > I am trying to build R using the new toolchain tonight and the
> > compilation stops very early with the errors below.
> >
> > Per [1], this is now an error. Does this need to be raised to R-devel
> > or should it be handled here?
> >
> > Thank you,
> >
> > Avi
> >
> > [1] https://www.gnu.org/software//gcc/gcc-14/porting_to.html
> >
> > Errors:
> > gcc   -shared -O3 -Wall -pedantic -std=gnu2x -march=native -pipe
> > -flto -fuse-linker-plugin -s -mwindows -o R.dll R.def console.o
> > dynload.o editor.o embeddedR.o extra.o opt.o pager.o preferences.o
> > psignal.o rhome.o rt_complete.o rui.o run.o shext.o sys-win32.o
> > system.o dos_wglob.o dllversion.o ../main/libmain.a ../appl/libappl.a
> > ../nmath/libnmath.a getline/gl.a ../extra/xdr/libxdr.a
> > ../extra/intl/libintl.a ../extra/trio/libtrio.a ../extra/tzone/libtz.a
> > ../extra/tre/libtre.a -fopenmp -L. -lgfortran -lquadmath -lRblas
> > -L../../bin/x64 -lRgraphapp -lRiconv -lcomctl32 -lole32 -luuid -lwinmm
> > -lversion -ldeflate -L"/x86_64-w64-mingw32.static.posix"/lib/x64
> > -lpcre2-8 -lz -lbz2 -llzma -lzstd -L""/lib/x64
> > -LC:/rtools45/x86_64-w64-mingw32.static.posix/lib -lsicuin -lsicuuc
> > /x86_64-w64-mingw32.static.posix/lib/sicudt.a -lpthread -ldl -lm
> > -lstdc++
> > lto-wrapper.exe: warning: using serial compilation of 68 LTRANS jobs
> > lto-wrapper.exe: note: see the '-flto' option documentation for more information
> > cp R.dll ../../bin/x64
> > gcc  -O3 -I../../include  -c blas00.c -o blas00.o
> > In file included from ../../include/R.h:78,
> >                  from blas00.c:2:
> > blas00.c: In function 'blas_dummy':
> > blas00.c:6:14: error: implicit declaration of function 'dasum_'
> > [-Wimplicit-function-declaration]
> >     6 |     F77_CALL(dasum)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:7:14: error: implicit declaration of function 'daxpy_'
> > [-Wimplicit-function-declaration]
> >     7 |     F77_CALL(daxpy)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:8:14: error: implicit declaration of function 'dcopy_'
> > [-Wimplicit-function-declaration]
> >     8 |     F77_CALL(dcopy)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:9:14: error: implicit declaration of function 'ddot_'
> > [-Wimplicit-function-declaration]
> >     9 |     F77_CALL(ddot)();
> >       |              ^~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:10:14: error: implicit declaration of function 'dgbmv_'
> > [-Wimplicit-function-declaration]
> >    10 |     F77_CALL(dgbmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:11:14: error: implicit declaration of function 'dgemm_'
> > [-Wimplicit-function-declaration]
> >    11 |     F77_CALL(dgemm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:12:14: error: implicit declaration of function 'dgemv_'
> > [-Wimplicit-function-declaration]
> >    12 |     F77_CALL(dgemv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:13:14: error: implicit declaration of function 'dger_'
> > [-Wimplicit-function-declaration]
> >    13 |     F77_CALL(dger)();
> >       |              ^~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:14:14: error: implicit declaration of function 'dnrm2_'
> > [-Wimplicit-function-declaration]
> >    14 |     F77_CALL(dnrm2)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:15:14: error: implicit declaration of function 'drot_'
> > [-Wimplicit-function-declaration]
> >    15 |     F77_CALL(drot)();
> >       |              ^~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:16:14: error: implicit declaration of function 'drotg_'
> > [-Wimplicit-function-declaration]
> >    16 |     F77_CALL(drotg)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:17:14: error: implicit declaration of function 'drotm_'
> > [-Wimplicit-function-declaration]
> >    17 |     F77_CALL(drotm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:18:14: error: implicit declaration of function 'drotmg_'
> > [-Wimplicit-function-declaration]
> >    18 |     F77_CALL(drotmg)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:19:14: error: implicit declaration of function 'dsbmv_'
> > [-Wimplicit-function-declaration]
> >    19 |     F77_CALL(dsbmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:20:14: error: implicit declaration of function 'dscal_'; did
> > you mean '_scalb'? [-Wimplicit-function-declaration]
> >    20 |     F77_CALL(dscal)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:21:14: error: implicit declaration of function 'dsdot_'
> > [-Wimplicit-function-declaration]
> >    21 |     F77_CALL(dsdot)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:22:14: error: implicit declaration of function 'dspmv_'
> > [-Wimplicit-function-declaration]
> >    22 |     F77_CALL(dspmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:23:14: error: implicit declaration of function 'dspr_'
> > [-Wimplicit-function-declaration]
> >    23 |     F77_CALL(dspr)();
> >       |              ^~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:24:14: error: implicit declaration of function 'dspr2_'
> > [-Wimplicit-function-declaration]
> >    24 |     F77_CALL(dspr2)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:25:14: error: implicit declaration of function 'dswap_'
> > [-Wimplicit-function-declaration]
> >    25 |     F77_CALL(dswap)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:26:14: error: implicit declaration of function 'dsymm_'
> > [-Wimplicit-function-declaration]
> >    26 |     F77_CALL(dsymm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:27:14: error: implicit declaration of function 'dsymv_'
> > [-Wimplicit-function-declaration]
> >    27 |     F77_CALL(dsymv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:28:14: error: implicit declaration of function 'dsyr_'
> > [-Wimplicit-function-declaration]
> >    28 |     F77_CALL(dsyr)();
> >       |              ^~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:29:14: error: implicit declaration of function 'dsyr2_'
> > [-Wimplicit-function-declaration]
> >    29 |     F77_CALL(dsyr2)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:30:14: error: implicit declaration of function 'dsyr2k_'
> > [-Wimplicit-function-declaration]
> >    30 |     F77_CALL(dsyr2k)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:31:14: error: implicit declaration of function 'dsyrk_'
> > [-Wimplicit-function-declaration]
> >    31 |     F77_CALL(dsyrk)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:32:14: error: implicit declaration of function 'dtbmv_'
> > [-Wimplicit-function-declaration]
> >    32 |     F77_CALL(dtbmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:33:14: error: implicit declaration of function 'dtbsv_'
> > [-Wimplicit-function-declaration]
> >    33 |     F77_CALL(dtbsv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:34:14: error: implicit declaration of function 'dtpmv_'
> > [-Wimplicit-function-declaration]
> >    34 |     F77_CALL(dtpmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:35:14: error: implicit declaration of function 'dtpsv_'
> > [-Wimplicit-function-declaration]
> >    35 |     F77_CALL(dtpsv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:36:14: error: implicit declaration of function 'dtrmm_'
> > [-Wimplicit-function-declaration]
> >    36 |     F77_CALL(dtrmm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:37:14: error: implicit declaration of function 'dtrmv_'
> > [-Wimplicit-function-declaration]
> >    37 |     F77_CALL(dtrmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:38:14: error: implicit declaration of function 'dtrsm_'
> > [-Wimplicit-function-declaration]
> >    38 |     F77_CALL(dtrsm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:39:14: error: implicit declaration of function 'dtrsv_'
> > [-Wimplicit-function-declaration]
> >    39 |     F77_CALL(dtrsv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:40:14: error: implicit declaration of function 'idamax_'
> > [-Wimplicit-function-declaration]
> >    40 |     F77_CALL(idamax)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:41:14: error: implicit declaration of function 'lsame_'
> > [-Wimplicit-function-declaration]
> >    41 |     F77_CALL(lsame)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:44:14: error: implicit declaration of function 'dcabs1_'; did
> > you mean '_cabs'? [-Wimplicit-function-declaration]
> >    44 |     F77_CALL(dcabs1)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:45:14: error: implicit declaration of function 'dzasum_'
> > [-Wimplicit-function-declaration]
> >    45 |     F77_CALL(dzasum)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:46:14: error: implicit declaration of function 'dznrm2_'
> > [-Wimplicit-function-declaration]
> >    46 |     F77_CALL(dznrm2)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:47:14: error: implicit declaration of function 'izamax_'
> > [-Wimplicit-function-declaration]
> >    47 |     F77_CALL(izamax)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:48:14: error: implicit declaration of function 'zaxpy_'
> > [-Wimplicit-function-declaration]
> >    48 |     F77_CALL(zaxpy)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:49:14: error: implicit declaration of function 'zcopy_'
> > [-Wimplicit-function-declaration]
> >    49 |     F77_CALL(zcopy)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:50:14: error: implicit declaration of function 'zdotc_'
> > [-Wimplicit-function-declaration]
> >    50 |     F77_CALL(zdotc)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:51:14: error: implicit declaration of function 'zdotu_'
> > [-Wimplicit-function-declaration]
> >    51 |     F77_CALL(zdotu)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:52:14: error: implicit declaration of function 'zdrot_'
> > [-Wimplicit-function-declaration]
> >    52 |     F77_CALL(zdrot)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:53:14: error: implicit declaration of function 'zdscal_'
> > [-Wimplicit-function-declaration]
> >    53 |     F77_CALL(zdscal)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:54:14: error: implicit declaration of function 'zgbmv_'
> > [-Wimplicit-function-declaration]
> >    54 |     F77_CALL(zgbmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:55:14: error: implicit declaration of function 'zgemm_'
> > [-Wimplicit-function-declaration]
> >    55 |     F77_CALL(zgemm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:56:14: error: implicit declaration of function 'zgemv_'
> > [-Wimplicit-function-declaration]
> >    56 |     F77_CALL(zgemv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:57:14: error: implicit declaration of function 'zgerc_'
> > [-Wimplicit-function-declaration]
> >    57 |     F77_CALL(zgerc)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:58:14: error: implicit declaration of function 'zgeru_'
> > [-Wimplicit-function-declaration]
> >    58 |     F77_CALL(zgeru)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:59:14: error: implicit declaration of function 'zhbmv_'
> > [-Wimplicit-function-declaration]
> >    59 |     F77_CALL(zhbmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:60:14: error: implicit declaration of function 'zhemm_'
> > [-Wimplicit-function-declaration]
> >    60 |     F77_CALL(zhemm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:61:14: error: implicit declaration of function 'zhemv_'
> > [-Wimplicit-function-declaration]
> >    61 |     F77_CALL(zhemv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:62:14: error: implicit declaration of function 'zher_'
> > [-Wimplicit-function-declaration]
> >    62 |     F77_CALL(zher)();
> >       |              ^~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:63:14: error: implicit declaration of function 'zherk_'
> > [-Wimplicit-function-declaration]
> >    63 |     F77_CALL(zherk)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:64:14: error: implicit declaration of function 'zher2_'
> > [-Wimplicit-function-declaration]
> >    64 |     F77_CALL(zher2)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:65:14: error: implicit declaration of function 'zher2k_'
> > [-Wimplicit-function-declaration]
> >    65 |     F77_CALL(zher2k)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:66:14: error: implicit declaration of function 'zhpmv_'
> > [-Wimplicit-function-declaration]
> >    66 |     F77_CALL(zhpmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:67:14: error: implicit declaration of function 'zhpr_'
> > [-Wimplicit-function-declaration]
> >    67 |     F77_CALL(zhpr)();
> >       |              ^~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:68:14: error: implicit declaration of function 'zhpr2_'
> > [-Wimplicit-function-declaration]
> >    68 |     F77_CALL(zhpr2)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:69:14: error: implicit declaration of function 'zrotg_'
> > [-Wimplicit-function-declaration]
> >    69 |     F77_CALL(zrotg)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:70:14: error: implicit declaration of function 'zscal_'; did
> > you mean '_scalb'? [-Wimplicit-function-declaration]
> >    70 |     F77_CALL(zscal)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:71:14: error: implicit declaration of function 'zswap_'
> > [-Wimplicit-function-declaration]
> >    71 |     F77_CALL(zswap)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:72:14: error: implicit declaration of function 'zsymm_'
> > [-Wimplicit-function-declaration]
> >    72 |     F77_CALL(zsymm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:73:14: error: implicit declaration of function 'zsyr2k_'
> > [-Wimplicit-function-declaration]
> >    73 |     F77_CALL(zsyr2k)();
> >       |              ^~~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:74:14: error: implicit declaration of function 'zsyrk_'
> > [-Wimplicit-function-declaration]
> >    74 |     F77_CALL(zsyrk)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:75:14: error: implicit declaration of function 'ztbmv_'
> > [-Wimplicit-function-declaration]
> >    75 |     F77_CALL(ztbmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:76:14: error: implicit declaration of function 'ztbsv_'
> > [-Wimplicit-function-declaration]
> >    76 |     F77_CALL(ztbsv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:77:14: error: implicit declaration of function 'ztpmv_'
> > [-Wimplicit-function-declaration]
> >    77 |     F77_CALL(ztpmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:78:14: error: implicit declaration of function 'ztpsv_'
> > [-Wimplicit-function-declaration]
> >    78 |     F77_CALL(ztpsv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:79:14: error: implicit declaration of function 'ztrmm_'
> > [-Wimplicit-function-declaration]
> >    79 |     F77_CALL(ztrmm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:80:14: error: implicit declaration of function 'ztrmv_'
> > [-Wimplicit-function-declaration]
> >    80 |     F77_CALL(ztrmv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:81:14: error: implicit declaration of function 'ztrsm_'
> > [-Wimplicit-function-declaration]
> >    81 |     F77_CALL(ztrsm)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > blas00.c:82:14: error: implicit declaration of function 'ztrsv_'
> > [-Wimplicit-function-declaration]
> >    82 |     F77_CALL(ztrsv)();
> >       |              ^~~~~
> > ../../include/R_ext/RS.h:98:25: note: in definition of macro 'F77_CALL'
> >    98 | # define F77_CALL(x)    x ## _
> >       |                         ^
> > make[4]: *** [Makefile.win:8: blas00.o] Error 1
> > make[3]: *** [Makefile:227: Rblas] Error 2
> > make[2]: *** [Makefile:116: rbuild] Error 2
> > make[1]: *** [Makefile:17: all] Error 2
> > make: *** [Makefile:390: distribution] Error 2



More information about the R-SIG-windows mailing list