[MacPorts] #63717: vecLibFort @0.4.2_0: error: conflicting types for 'sdsdot_'

MacPorts noreply at macports.org
Fri Dec 17 16:48:41 UTC 2021


#63717: vecLibFort @0.4.2_0: error: conflicting types for 'sdsdot_'
-------------------------+----------------------
  Reporter:  Nevensky    |      Owner:  tenomoto
      Type:  defect      |     Status:  assigned
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.7.1
Resolution:              |   Keywords:  monterey
      Port:  vecLibFort  |
-------------------------+----------------------

Comment (by TruePath):

 So I'm wondering if maybe the headers in Monterey just include the type
 definitions we need for vecLibFort.

 I mean if I comment out lines 124 to 139 in vecLibFort.c and the lines
 28-115 in static.h as (as follows) it builds fine.

 However, it's been forever since I did any development in C/C++ and I
 don't really understand what's going on with the macros here so I worry
 that this will break things later.  Can someone who knows what they are
 doing double check this?


 {{{
 // BLS_CALL(float,sdsdot,6)
 // BLS_CALL(float,sdot,5)
 // BLS_CALL(float,snrm2,3)
 // BLS_CALL(float,sasum,3)
 // BLS_CALL(c_float,cdotu,5)
 // BLS_CALL(c_float,cdotc,5)
 // BLS_CALL(float,scnrm2,3)
 // BLS_CALL(float,scasum,3)
 // BLS_CALL(c_double,zdotu,5)
 // BLS_CALL(c_double,zdotc,5)
 #if defined(VECLIBFORT_SGEMV)
 // BLS_CALL(void,sgemv,11)
 #endif

 #else

 /*
 }}}


 {{{
 // STATIC float FNAME(sdsdot)( const int* N, const float* alpha, const
 float* X, const int* incX, const float* Y, const int* incY )
 // {
 //   DEBUG_S( "sdsdot" )
 //   return cblas_sdsdot( *N, *alpha, X, *incX, Y, *incY );
 // }

 // STATIC float FNAME(sdot)( const int* N, const float* X, const int*
 incX, const float* Y, const int* incY )
 // {
 //   DEBUG_S( "sdot" )
 //   return cblas_sdot( *N, X, *incX, Y, *incY );
 // }

 // STATIC float FNAME(snrm2)( const int* N, const float* X, const int*
 incX )
 // {
 //   DEBUG_S( "snrm2" )
 //   return cblas_snrm2( *N, X, *incX );
 // }

 // STATIC float FNAME(sasum)( const int* N, const float *X, const int*
 incX )
 // {
 //   DEBUG_S( "sasum" )
 //   return cblas_sasum( *N, X, *incX );
 // }

 // STATIC c_float FNAME(cdotu)( const int* N, const void* X, const int*
 incX, const void* Y, const int* incY )
 // {
 //   DEBUG_S( "cdotu" )
 //   c_float ans;
 //   cblas_cdotu_sub( *N, X, *incX, Y, *incY, &ans );
 //   return ans;
 // }

 // STATIC c_float FNAME(cdotc)( const int* N, const void* X, const int*
 incX, const void* Y, const int* incY )
 // {
 //   DEBUG_S( "cdotc" )
 //   c_float ans;
 //   cblas_cdotc_sub( *N, X, *incX, Y, *incY, &ans );
 //   return ans;
 // }

 // STATIC float FNAME(scnrm2)( const int* N, const void* X, const int*
 incX )
 // {
 //   DEBUG_S( "scnrm2" )
 //   return cblas_scnrm2( *N, X, *incX );
 // }

 // STATIC float FNAME(scasum)( const int* N, const void *X, const int*
 incX )
 // {
 //   DEBUG_S( "scasum" )
 //   return cblas_scasum( *N, X, *incX );
 // }

 // STATIC c_double FNAME(zdotu)( const int* N, const void* X, const int*
 incX, const void* Y, const int* incY )
 // {
 //   DEBUG_S( "zdotu" )
 //   c_double ans;
 //   cblas_zdotu_sub( *N, X, *incX, Y, *incY, &ans );
 //   return ans;
 // }

 // STATIC c_double FNAME(zdotc)( const int* N, const void* X, const int*
 incX, const void* Y, const int* incY )
 // {
 //   DEBUG_S( "zdotc" )
 //   c_double ans;
 //   cblas_zdotc_sub( *N, X, *incX, Y, *incY, &ans );
 //   return ans;
 // }

 // #ifdef VECLIBFORT_SGEMV
 // STATIC void FNAME(sgemv)( const char* trans, const int* m, const int*
 n,
 //   const float* alpha, const float* A, const int* ldA,
 //   const float* X, const int* incX,
 //   const float* beta, float* Y, const int* incY )
 // {
 //   DEBUG_S( "sgemv" )
 //   enum CBLAS_TRANSPOSE T;
 //   switch ( trans[0] ) {
 //     case 'T': case 't':
 //       if ( (long)X % 32 == 0 ) { T = CblasTrans; break; }
 //       /* Implement as alpha * X^T * A + beta * Y^T */
 //       cblas_sgemm( CblasColMajor, CblasNoTrans, CblasNoTrans, 1, *n,
 *m, *alpha, X, *incX, A, *ldA, *beta, Y, *incY );
 //       return;
 //     default:
 //       T = CblasNoTrans;
 //   }
 //   cblas_sgemv( CblasColMajor, T, *m, *n, *alpha, A, *ldA, X, *incX,
 *beta, Y, *incY );
 // }
 // #endif
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/63717#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list