https://issues.dlang.org/show_bug.cgi?id=24620
Issue ID: 24620 Summary: ImportC: can't compile cJSON Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: ryuukk....@gmail.com clone: https://github.com/DaveGamble/cJSON create: 'it.c' (otherwise it complains about `main.d(5): Error: import `main.cJSON` is used as a type`) ``` #include "cJSON.c" ``` create: 'main.d' ```D import it; void main() { cJSON* request = cJSON_Parse(null); } ``` compile&run: 'dmd main.d it.c -of=bug && ./bug' ``` $ dmd main.d it.c -of=bug && ./bug In file included from <command-line>: /usr/include/dlang/dmd/importc.h:101:8: warning: undefining "__has_feature" 101 | #undef __has_feature | ^~~~~~~~~~~~~ /usr/include/dlang/dmd/importc.h:104:8: warning: undefining "__has_extension" 104 | #undef __has_extension | ^~~~~~~~~~~~~~~ cJSON.c(569): Error: undefined identifier `__builtin_isinf_sign` cJSON.c(1205): Error: `buffer` is not a member of `printbuffer[1]` cJSON.c(1206): Error: `length` is not a member of `printbuffer[1]` cJSON.c(1207): Error: `format` is not a member of `printbuffer[1]` cJSON.c(1208): Error: `hooks` is not a member of `printbuffer[1]` cJSON.c(1228): Error: `buffer` is not a member of `printbuffer[1]` cJSON.c(1242): Error: `buffer` is not a member of `printbuffer[1]` cJSON.c(1251): Error: `buffer` is not a member of `printbuffer[1]` ``` --