[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