[Issue 1830] duplicated constants + extern(Windows) = Link error: Previous Definition Different

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 13 15:12:13 PST 2008


http://d.puremagic.com/issues/show_bug.cgi?id=1830


wbaxter at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |




------- Comment #3 from wbaxter at gmail.com  2008-02-13 17:12 -------
A) Why should the name mangling affect whether the linker says it is a
multiply-defined symbol?  

B) The error message says specifically "previous definition different" which is
simply untrue.  The previous definition was identical.

C) Your workaround #1 is self-contradictory - you say change extern(Windows) to
extern(D), but then later say extern(Windows) is correct for these symbols.

D) Your workaround #2 (change const to enum) requires a change to Phobos,
meaning that at the very least this is a bug against Phobos whose
std.c.windows.windows module uses const rather than enum.


-- 



More information about the Digitalmars-d-bugs mailing list