nervosnetwork / sparse-merkle-tree

46 stars 37 forks source link

fix invalid conversion error from 'void*' to 'unsigned char*' #11

Closed Flouse closed 3 years ago

Flouse commented 3 years ago

G++ compilation error in Polyjuice:

deps/godwoken-scripts/c/deps/sparse-merkle-tree/c/ckb_smt.h: In function 'void* _smt_fast_memset(void*, int, size_t)':
deps/godwoken-scripts/c/deps/sparse-merkle-tree/c/ckb_smt.h:14:21: error: invalid conversion from 'void*' to 'unsigned char*' [-fpermissive]
  unsigned char *s = dest;
                     ^~~~
deps/godwoken-scripts/c/deps/sparse-merkle-tree/c/ckb_smt.h: In function 'void* _smt_fast_memcpy(void*, const void*, size_t)':
deps/godwoken-scripts/c/deps/sparse-merkle-tree/c/ckb_smt.h:102:21: error: invalid conversion from 'void* __restrict__' to 'unsigned char*' [-fpermissive]
  unsigned char *d = dest;
                     ^~~~
deps/godwoken-scripts/c/deps/sparse-merkle-tree/c/ckb_smt.h:103:27: error: invalid conversion from 'const void* __restrict__' to 'const unsigned char*' [-fpermissive]
  const unsigned char *s = src;
                           ^~~
Makefile:82: recipe for target 'build/test_contracts' failed
make: *** [build/test_contracts] Error 1
make: *** [Makefile:47: all-via-docker] Error 2
doitian commented 3 years ago

Is it possible to catch such errors in CI by setting CFLAGS/CXXFLAGS?