[SAOC 2026] ImportC Weekly Update #1
Niyati Jain
niyati.jainn15 at gmail.com
Tue Sep 22 12:22:23 UTC 2026
Hello everyone,
I'm Niyati, working on ImportC: Zero-Wrapper Integration for
Production-Grade C Libraries for SAOC 2026, mentored by Nicholas
Wilson. This is my first weekly update, covering the first week
of Milestone 1. My proposal is at [1] and the finalized
milestones at [2].
This week I worked through issue #21890 on sljit, the issue says
it's about `byte` being a D keyword, but that's wrong, it's a
local or param not hiding a typedef of the same name, which is
what actually breaks the parse on Windows. Also worked on the two
missing builtins sljit needed, `__builtin_unreachable` (#20407)
and `__builtin___clear_cache`.
Bigger find while trying to package sljit for dub: `dmd -lib` on
a C file produces a library that doesn't link, so static
functions/vars in it become unreachable. It's not sljit-specific,
but would hit any C library packaged for dub.
All three up as draft PRs:
https://github.com/dlang/dmd/pull/23902
https://github.com/dlang/dmd/pull/23903
https://github.com/dlang/dmd/pull/23904
Other findings: sljit's cpuid still needs GNU inline asm support
on Linux, its Windows intrinsics need a couple more fixes, sqlite
needs `__try/__except` support, and ImportC drops `##` in macros
so stdint's `INT64_MAX`/`UINT64_MAX` don't work from D on Linux.
Best,
Niyati
[1]
https://gist.github.com/niy-ati/9d2c587a818711f3fc2f59e962d50ebc
[2]
https://gist.github.com/niy-ati/4d74f2d77bacc2f2f06f3c249c15d075
More information about the Digitalmars-d
mailing list