Thread overview
[Issue 22335] Exporting variables from DLLs is unusable
Sep 25, 2021
Max Samukha
Dec 17, 2022
Iain Buclaw
Jan 26, 2023
Walter Bright
Jan 26, 2023
Max Samukha
Jun 04, 2023
Walter Bright
Jun 04, 2023
Walter Bright
Jun 05, 2023
Max Samukha
September 25, 2021
https://issues.dlang.org/show_bug.cgi?id=22335

Max Samukha <maxsamukha@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|x86_64                      |All

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=22335

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2

--
January 26, 2023
https://issues.dlang.org/show_bug.cgi?id=22335

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #1 from Walter Bright <bugzilla@digitalmars.com> ---
It's currently necessary to manually create a .di file with the contents:

    export extern __gshared int x;

for this to work.

--
January 26, 2023
https://issues.dlang.org/show_bug.cgi?id=22335

--- Comment #2 from Max Samukha <maxsamukha@gmail.com> ---
(In reply to Walter Bright from comment #1)
> It's currently necessary to manually create a .di file with the contents:
> 
>     export extern __gshared int x;
> 
> for this to work.

That's literally what I wrote. The point of this bug report is that it has to be done manually because neither simple import nor "-H" work.

--
June 04, 2023
https://issues.dlang.org/show_bug.cgi?id=22335

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |WORKSFORME

--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> ---
The current master emits this:

---
// D import file generated from 'dll.d'
module dll;
export extern __gshared int x;
extern (Windows) int DllMain(void*, uint, void*);
---

And your example is now working!

--
June 04, 2023
https://issues.dlang.org/show_bug.cgi?id=22335

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |dll

--
June 05, 2023
https://issues.dlang.org/show_bug.cgi?id=22335

--- Comment #4 from Max Samukha <maxsamukha@gmail.com> ---
(In reply to Walter Bright from comment #3)
>
> And your example is now working!

Cool, thanks!

--