[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