On 12/18/2012 1:33 AM, Dmitry Olshansky wrote:
More then that - the end result is the same: to avoid carrying junk into an app you (or compiler) still have to put each function in its own section.
That's what COMDATs are.
Doing separate compilation I always (unless doing LTO or template heavy code) see either whole or nothing (D included). Most likely the compiler will do it for you only with a special switch.
dmd emits COMDATs for all global functions. You can see this by running dumpobj on the output.