https://issues.dlang.org/show_bug.cgi?id=23509
Krzysztof Jajeśnica <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |krzysztof.jajesnica@student | |.put.poznan.pl --- Comment #2 from Krzysztof Jajeśnica <[email protected]> --- I accidentally hit the same bug while trying to compile the Nuklear library with DMD 2.101.1 on Manjaro Linux. Based on the error message and source code of assert.h I think ImportC is trying to use the following definition of assert: # define assert(expr) \ ((void) sizeof ((expr) ? 1 : 0), __extension__ ({ \ if (expr) \ ; /* empty */ \ else \ __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION); \ })) The problem seems to be caused by 2 GCC extensions used in the assert macro which are not supported by ImportC: 1. Statement expressions (https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html) (basically GCC treats code like this: ({statement1; statement2;}) as an expression) 2. __PRETTY_FUNCTION__ - this one is hidden inside the __ASSERT_FUNCTION macro --
