daokoder / dao-modules

Dao Standard Modules
http://daovm.net
12 stars 5 forks source link

Bug: cblas seems deprecated (and can't compile) #88

Open dumblob opened 7 years ago

dumblob commented 7 years ago

The cblas module seems deprecated and unmaintained. It also can't compile:

cc -O2 -DDAO_WITH_NUMARRAY -DDAO_WITH_THREAD -DDAO_WITH_CONCURRENT -DDAO_WITH_RESTART -DTARGET_PLAT=\"linux\" -DLINUX=2 -DUNIX=1 -I../../kernel/ -I../auxlib/ -I../../kernel/ -I../../ -fPIC  -c dao_cblas.c -o DaoMake.Objs/dao_cblas.c.78BD.o
dao_cblas.c:145:8: error: unknown type name ‘DaoFuncItem’
 static DaoFuncItem dao__Funcs[] =
        ^~~~~~~~~~~
dao_cblas.c:147:3: warning: braces around scalar initializer
   { dao__cblas_sdsdot, "cblas_sdsdot( n: int, alpha: float, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
   ^
dao_cblas.c:147:3: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:147:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
   { dao__cblas_sdsdot, "cblas_sdsdot( n: int, alpha: float, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
     ^~~~~~~~~~~~~~~~~
dao_cblas.c:147:5: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:147:5: error: initializer element is not computable at load time
dao_cblas.c:147:5: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:147:24: warning: excess elements in scalar initializer
   { dao__cblas_sdsdot, "cblas_sdsdot( n: int, alpha: float, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dao_cblas.c:147:24: note: (near initialization for ‘dao__Funcs[0]’)
dao_cblas.c:148:3: warning: braces around scalar initializer
   { dao__cblas_dsdot, "cblas_dsdot( n: int, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
   ^
dao_cblas.c:148:3: note: (near initialization for ‘dao__Funcs[1]’)
dao_cblas.c:148:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
   { dao__cblas_dsdot, "cblas_dsdot( n: int, x: array<float>, incx: int, y: array<float>, incy: int )=>float" },
     ^~~~~~~~~~~~~~~~

<snip>

dao_cblas.c:2735:3: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c:2735:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
   { NULL, 0, 0 }
     ^~~~
dao_cblas.c:2735:5: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c:2735:11: warning: excess elements in scalar initializer
   { NULL, 0, 0 }
           ^
dao_cblas.c:2735:11: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c:2735:14: warning: excess elements in scalar initializer
   { NULL, 0, 0 }
              ^
dao_cblas.c:2735:14: note: (near initialization for ‘dao__Nums[12]’)
dao_cblas.c: In function ‘DaoOnLoad’:
dao_cblas.c:2755:36: warning: passing argument 2 of ‘DaoNamespace_AddConstNumbers’ from incompatible pointer type [-Wincompatible-pointer-types]
  DaoNamespace_AddConstNumbers( ns, dao__Nums );
                                    ^~~~~~~~~
In file included from dao_cblas.h:6:0,
                 from dao_cblas.c:1:
../../kernel/dao.h:1127:14: note: expected ‘DaoNumberEntry * {aka struct DaoNumberEntry *}’ but argument is of type ‘int *’
 DAO_DLL void DaoNamespace_AddConstNumbers( DaoNamespace *self, DaoNumberEntry *items );
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
dao_cblas.c:2757:34: warning: passing argument 2 of ‘DaoNamespace_WrapFunctions’ from incompatible pointer type [-Wincompatible-pointer-types]
  DaoNamespace_WrapFunctions( ns, dao__Funcs );
                                  ^~~~~~~~~~
In file included from dao_cblas.h:6:0,
                 from dao_cblas.c:1:
../../kernel/dao.h:1138:13: note: expected ‘DaoFunctionEntry * {aka struct DaoFunctionEntry *}’ but argument is of type ‘int *’
 DAO_DLL int DaoNamespace_WrapFunctions( DaoNamespace *self, DaoFunctionEntry fd[] );
             ^~~~~~~~~~~~~~~~~~~~~~~~~~

It seems very useful, so we should update it to the latest Dao (I would rather not abandon it).