Conversation
Some platforms now throw the error: `'const void*' is not a pointer-to-object type` with PIO in Linux.
e.g.
```
In file included from /home/circleci/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/string.h:163:0,
from /home/circleci/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:33,
from .piolibdeps/bip39_ID5886/src/util.h:13,
from .piolibdeps/bip39_ID5886/src/dictionary/english_str.h:4,
from .piolibdeps/bip39_ID5886/src/dictionary/english.h:4,
from .piolibdeps/bip39_ID5886/src/bip39.cpp:2:
.piolibdeps/bip39_ID5886/src/bip39.cpp: In function 'int BIP39::{anonymous}::get_word_index(const char* const*, const string&)':
.piolibdeps/bip39_ID5886/src/bip39.cpp:52:28: error: 'const void*' is not a pointer-to-object type
strcpy_P(w, (char*)pgm_read_ptr_far(&(lexicon[i]))); // NOLINT
^
/home/circleci/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/string.h:32:57: note: in definition of macro 'strcpy_P'
#define strcpy_P(dest, src) strncpy_P((dest), (src), SIZE_IRRELEVANT)
^
.piolibdeps/bip39_ID5886/src/bip39.cpp: In function 'BIP39::word_list BIP39::create_mnemonic(std::vector<unsigned char>&, BIP39::language)':
.piolibdeps/bip39_ID5886/src/bip39.cpp:106:31: error: 'const void*' is not a pointer-to-object type
strcpy_P(word, (char*)pgm_read_ptr_far(&(lexicon[position]))); // NOLINT
^
/home/circleci/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/string.h:32:57: note: in definition of macro 'strcpy_P'
#define strcpy_P(dest, src) strncpy_P((dest), (src), SIZE_IRRELEVANT)
^
*** [.pioenvs/esp8266/src/test/.piolibdeps/bip39_ID5886/src/bip39.cpp.o] Error 1
```
This found fix seems to resolve these build issues.
Codecov Report
@@ Coverage Diff @@
## master #8 +/- ##
=======================================
Coverage 94.22% 94.22%
=======================================
Files 6 6
Lines 225 225
=======================================
Hits 212 212
Misses 13 13
Continue to review full report at Codecov.
|
1 similar comment
Codecov Report
@@ Coverage Diff @@
## master #8 +/- ##
=======================================
Coverage 94.22% 94.22%
=======================================
Files 6 6
Lines 225 225
=======================================
Hits 212 212
Misses 13 13
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #8 +/- ##
=======================================
Coverage 94.22% 94.22%
=======================================
Files 6 6
Lines 225 225
=======================================
Hits 212 212
Misses 13 13
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #8 +/- ##
=======================================
Coverage 94.22% 94.22%
=======================================
Files 6 6
Lines 225 225
=======================================
Hits 212 212
Misses 13 13
Continue to review full report at Codecov.
|
Some platforms now throw the error:
'const void*' is not a pointer-to-object typewith PIO in Linux.It appears they handle PROGMEM differently.
This PR adds a macro resolves "pointer-to-object" errors in those platforms.
PGM Macro:
Example Build Error: