[Issue 9816] Export is mostly broken

2023-06-05 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Walter Bright changed: What|Removed |Added See Also||https://issues.dlang.org/sh

[Issue 9816] Export is mostly broken

2023-06-05 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #33 from

[Issue 9816] Export is mostly broken

2023-06-05 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 --- Comment #34 from Walter Bright --- > export int a; // declaration => dllimport // fails because it's actually a > definition That's been fixed. --

[Issue 9816] Export is mostly broken

2022-12-17 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Iain Buclaw changed: What|Removed |Added Priority|P2 |P3 --

[Issue 9816] Export is mostly broken

2022-12-09 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Walter Bright changed: What|Removed |Added See Also||https://issues.dlang.org/sh

[Issue 9816] Export is mostly broken

2022-12-09 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Walter Bright changed: What|Removed |Added See Also||https://issues.dlang.org/sh

[Issue 9816] Export is mostly broken

2022-12-09 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Walter Bright changed: What|Removed |Added See Also||https://issues.dlang.org/sh

[Issue 9816] Export is mostly broken

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Walter Bright changed: What|Removed |Added See Also||https://issues.dlang.org/sh

[Issue 9816] Export is mostly broken

2021-02-26 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Paul Backus changed: What|Removed |Added Keywords||bounty --

[Issue 9816] Export is mostly broken

2020-06-26 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816 Mike Parker changed: What|Removed |Added CC||aldac...@gmail.com --- Comment #32 from Mike Pa

[Issue 9816] Export is mostly broken

2013-09-01 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #31 from Benjamin Thaut 2013-09-01 02:50:44 PDT --- I updated the DIP with all discussed changes and implementation details. Please give feedback in the newsgroup. http://wiki.dlang.org/DIP45 -- Configure issuemail: http://d.pur

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #30 from Martin Nowak 2013-08-30 08:16:09 PDT --- (In reply to comment #29) > The only question remaining is, how big the performance impact is when doing > cross DLL calls. When the compiler knows that the function is located insid

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #29 from Benjamin Thaut 2013-08-30 07:49:43 PDT --- > No! This only applies to data that is marked as export. So you do know quite > well what could be imported. You are correct, I didn't take into account that we can leverage exp

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #28 from Martin Nowak 2013-08-30 06:07:52 PDT --- (In reply to comment #24) > I fully agree here. We might still want to provide a -exportall switch for > convenience. A compiler switch makes sense for the case where you have the s

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #27 from Martin Nowak 2013-08-30 05:26:36 PDT --- And the metadata of exported UDTs (vtable, rtti) and moduleinfos for modules with exported members. Also note that because Windows doesn't support symbol interposition it's safe to a

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #26 from Martin Nowak 2013-08-30 05:11:45 PDT --- (In reply to comment #24) > > I don't think the last point is too critical because exporting data is > > rarely > > done and rather a bad practice. > > Also this only applies to the

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #25 from Benjamin Thaut 2013-08-30 00:45:28 PDT --- > That wouldn't work in the case where you create a DLL that both exports > symbols > and imports symbols from another DLL. It would work. Because the command line switch to the

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #24 from Benjamin Thaut 2013-08-30 00:32:50 PDT --- > I don't think the last point is too critical because exporting data is rarely > done and rather a bad practice. > Also this only applies to the API boundary which shouldn't be a

[Issue 9816] Export is mostly broken

2013-08-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #23 from Martin Nowak 2013-08-29 23:59:07 PDT --- (In reply to comment #22) > Do you want to annotate all of phobos and druntime with "export" to build a > shared version? I think we are already in annotation hell with nothrow, pur

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #22 from Rainer Schuetze 2013-08-29 23:40:47 PDT --- (In reply to comment #19) > > - do we want a export all public symbols feature (discussion on the > > newsgroup > > brought up that c++ is trying to move away from this, maybe w

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #21 from Martin Nowak 2013-08-29 19:29:11 PDT --- To summarize the alias proposal. For every exported function definition we also emit an alias symbol _imp_funcname. For every exported data definition we emit a weakly linked read-on

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #20 from Martin Nowak 2013-08-29 15:37:26 PDT --- (In reply to comment #19) > > > Well, the question is, whether we can annotate symbols with "export" and > > > still > > > create static libraries. > > > > At the moment: no. But w

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #19 from Martin Nowak 2013-08-29 15:05:57 PDT --- (In reply to comment #18) > - when does export mean dllimport and when dllexport. Newsgroup discussion > brought up that we could enable dllimport/dllexport per module (including all

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #18 from Benjamin Thaut 2013-08-29 11:58:13 PDT --- > Nice blog post. I have implemented something similar to "auto-import" by > adding > some additional relocation data for data accesses. At program start the > addresses that are

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #17 from Martin Nowak 2013-08-29 11:54:03 PDT --- (In reply to comment #16) > Yes for functions symbols this is true, but data symbols require special > handling as described before. What are you trying to suggest with this > statem

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #16 from Benjamin Thaut 2013-08-29 11:44:50 PDT --- > Maybe my understanding of the Windows mechanism is wrong, but I don't think > that the exported symbol has to be different. All the runtime binding happens > in the import libra

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #15 from Martin Nowak 2013-08-29 11:38:04 PDT --- (In reply to comment #11) > When a variable is accessed which is linked in through a static library the > compiler generates a direct access. If it is linked in through a dynamic > l

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #14 from Rainer Schuetze 2013-08-29 11:12:17 PDT --- (In reply to comment #10) > I'm not a big of conflating protection and export. For example you could split > a library in two DLLs in which case you might need to export/import p

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #13 from Rainer Schuetze 2013-08-29 11:07:40 PDT --- Nice blog post. I have implemented something similar to "auto-import" by adding some additional relocation data for data accesses. At program start the addresses that are relocat

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #12 from Benjamin Thaut 2013-08-29 09:50:15 PDT --- I found a excelent blog post on this topic, especially the "auto-linking" part of it is interresting: http://blog.omega-prime.co.uk/?p=115 -- Configure issuemail: http://d.pure

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #11 from Benjamin Thaut 2013-08-29 08:28:06 PDT --- When a variable is accessed which is linked in through a static library the compiler generates a direct access. If it is linked in through a dynamic library however the compiler n

[Issue 9816] Export is mostly broken

2013-08-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #10 from Martin Nowak 2013-08-29 07:49:41 PDT --- (In reply to comment #7) > A few random comments: > > - I think in a situation where you want to use the same code for static and > dynamic linking, "export" is not usable. I'd prop

[Issue 9816] Export is mostly broken

2013-08-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #9 from Rainer Schuetze 2013-08-28 23:29:36 PDT --- Your're right, a function would be simpler. It might be a little less efficient because of the indirect jump, but avoids the two indirect data accesses through the import table.

[Issue 9816] Export is mostly broken

2013-08-27 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #8 from Benjamin Thaut 2013-08-27 09:41:35 PDT --- Wouldn't it be easier to implement a getter function for each TLS variable which just returns the address of the variable value? -- Configure issuemail: http://d.puremagic.com/is

[Issue 9816] Export is mostly broken

2013-08-27 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 Rainer Schuetze changed: What|Removed |Added CC||r.sagita...@gmx.de --- Comment #7 fr

[Issue 9816] Export is mostly broken

2013-05-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #6 from Benjamin Thaut 2013-05-29 06:22:40 PDT --- Sorry, I wanted to say that I'm not sure if it is possible to make thread local variables work across dll boundaries so I think we should make it a error first and might be able to

[Issue 9816] Export is mostly broken

2013-05-29 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #5 from Benjamin Thaut 2013-05-29 06:21:17 PDT --- > Can't you link against a DLL containing the definition of a thread local variable? I can. But I thought that it is better to make something an error it is hard to implement and

[Issue 9816] Export is mostly broken

2013-05-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #4 from Martin Nowak 2013-05-28 09:31:31 PDT --- > 1) Exporting a global variable leads to a linker error fixed by bug 10059 > 2) Exporting thread local variables should be an error (at least it is in c++) Can't you link against a

[Issue 9816] Export is mostly broken

2013-04-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #3 from Martin Nowak 2013-04-07 21:32:10 PDT --- (In reply to comment #0) > 1) Exporting a global variable leads to a linker error The problem seems to be that export uses C like rules to distinguish declarations and definitions. F

[Issue 9816] Export is mostly broken

2013-04-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 --- Comment #2 from Martin Nowak 2013-04-06 21:12:36 PDT --- (In reply to comment #1) > (In reply to comment #0) > > 2) Exporting thread local variables should be an error (at least it is in > > c++) > Yes. Actually no, at least ELF supports l

[Issue 9816] Export is mostly broken

2013-04-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9816 Martin Nowak changed: What|Removed |Added CC||c...@dawg.eu --- Comment #1 from Martin