[dmd-internals] "Previous Definition Different" w/ array ops

David Simcha dsimcha at gmail.com
Tue Feb 15 08:33:59 PST 2011


Whenever I use array ops in multi-module projects, I always seem to run into
"Previous definition different" linker errors.  This seems to occur when I
call the same array op using library function from multiple modules in the
same project.  Moving things around to different modules and recompiling
always seems to solve them at the expense of uglifying my code.
Unfortunately, this is one of those frustrating bugs that only seems to
occur on real-world code, i.e. code that has multiple modules, lots of
indirection, libraries, etc.  I can't for the life of me come up with a
reduced test case.

Has anyone else been experiencing similar issues?  Alternatively, can
someone with a better mental model of how things work at the binary level
please suggest how this bug might be reproduced in a test case that's less
than 20 thousand lines of code?  (I find linker bugs very difficult to
isolate and file bug reports on because I have no mental model of how things
work at that low a level.  My mental model basically only goes down to
assembly language, not the process of turning a pile of assembly language
files into a working executable or shared library.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/dmd-internals/attachments/20110215/34671523/attachment.html>


More information about the dmd-internals mailing list