[SAOC 2025] Improve importC Weekly Update #3

Emmanuel emmankoko519 at gmail.com
Mon Oct 6 08:35:16 UTC 2025


Hi all,

This past week, I worked on two issues.

1. function redeclaration in function scope was hitting compile 
time errors.

the initial redeclaration implementations was only handling it 
for tagged types in
function scope. it had to be extended for functions and variable 
decls.

Link to merged PR: https://github.com/dlang/dmd/pull/21924

2. typeof initializer expressions were also entering into 
circular typeof definition errors.

this was a little strange error because It wasn't for globals but 
only locals. after a deep and thorough inspection, I realized 
that after semantics were completed for local symbols, the 
semanticdone flag and was retriggering expression semantics in 
typetypeof. setting it fixed it.

link to merged PR: https://github.com/dlang/dmd/pull/21934

I also reported new issues. I randomly test simple existing code 
and inspect what is happening after compilation, during linking, 
etc. I discovered redeclaration of global variables overpopulated 
the symbol table.

in foo.c

      int a;
      int a;

compile and inspect object file

`_a` appears twice. and that's not supposed to be so. just one 
representation of it in symbol table.

link to issue: https://github.com/dlang/dmd/issues/21925. 
hopefully I fix it this week.

next target. there are little little issues that I want to finish 
fixing by the end of this week.
Then in my second month, I look at all issues involving import 
paths and also setting up real projects for testing in dub and 
then continue the fixes in that direction as desired by the 
community.

Thanks!


More information about the Digitalmars-d mailing list