I've just tried to use the C++ backend (gcc-10.2.1) nim cpp -d:danger --gc:arc --passC:-ffast-math ...
but I get /usr/lib/nim/wrappers/linenoise/linenoise.c: In function 'void abAppend(abuf*, const char*, int)': /usr/lib/nim/wrappers/linenoise/linenoise.c:462:11: error: expected unqualified-id before 'new' 462 | char *new = realloc(ab->b,ab->len+len); | ^~~ /usr/lib/nim/wrappers/linenoise/linenoise.c:464:13: error: expected type-specifier before '==' token 464 | if (new == NULL) return; | ^~ /usr/lib/nim/wrappers/linenoise/linenoise.c:465:15: error: expected type-specifier before '+' token 465 | memcpy(new+ab->len,s,len); Run **new** is a keyword in C++ and must not be used as a variable