When compiling the following source file with `nim cpp -d:release 
--noCppExceptions`:
    
    
    import unittest
    
    Run

the following errors are reported:
    
    
    Error: execution of an external compiler program 'clang++ -c  -w  -O3 
-ffast-math   -I/Users/masnagam/.choosenim/toolchains/nim-0.19.4/lib -o 
/Users/masnagam/.cache/nim/test_r/stdlib_system.cpp.o 
/Users/masnagam/.cache/nim/test_r/stdlib_system.cpp' failed with exit code: 1
    
    /Users/masnagam/.cache/nim/test_r/stdlib_system.cpp:3863:5: error: no 
matching function for call to 'copyMem_E1xtACub5WcDa3vbrIXbwgsystem'
    {                       copyMem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) 
((&buf[(L)- 0]))), "Error: unhandled exception: ", ((NI) 28));
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/masnagam/.cache/nim/test_r/stdlib_system.cpp:1674:23: note: 
candidate function not viable: no known conversion from 'const char [29]' to 
'void *' for 2nd argument
    static N_INLINE(void, copyMem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest, 
void* source, NI size) {
                          ^
    /Users/masnagam/.choosenim/toolchains/nim-0.19.4/lib/nimbase.h:95:50: note: 
expanded from macro 'N_INLINE'
    #  define N_INLINE(rettype, name) inline rettype name
                                                     ^
    /Users/masnagam/.cache/nim/test_r/stdlib_system.cpp:3875:5: error: no 
matching function for call to 'copyMem_E1xtACub5WcDa3vbrIXbwgsystem'
    {                       copyMem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) 
((&buf[(L)- 0]))), " [", ((NI) 2));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/masnagam/.cache/nim/test_r/stdlib_system.cpp:1674:23: note: 
candidate function not viable: no known conversion from 'const char [3]' to 
'void *' for 2nd argument
    static N_INLINE(void, copyMem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest, 
void* source, NI size) {
                          ^
    /Users/masnagam/.choosenim/toolchains/nim-0.19.4/lib/nimbase.h:95:50: note: 
expanded from macro 'N_INLINE'
    #  define N_INLINE(rettype, name) inline rettype name
                                                     ^
    /Users/masnagam/.cache/nim/test_r/stdlib_system.cpp:3887:5: error: no 
matching function for call to 'copyMem_E1xtACub5WcDa3vbrIXbwgsystem'
    {                       copyMem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) 
((&buf[(L)- 0]))), "]\012", ((NI) 2));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/masnagam/.cache/nim/test_r/stdlib_system.cpp:1674:23: note: 
candidate function not viable: no known conversion from 'const char [3]' to 
'void *' for 2nd argument
    static N_INLINE(void, copyMem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest, 
void* source, NI size) {
                          ^
    /Users/masnagam/.choosenim/toolchains/nim-0.19.4/lib/nimbase.h:95:50: note: 
expanded from macro 'N_INLINE'
    #  define N_INLINE(rettype, name) inline rettype name
                                                     ^
    3 errors generated.
    
    
    Run

Probably, additional type-castings from `const char*` to `void*` are required.

`nim cpp --noCppExceptions` seems to work fine.

Reply via email to