[LLVMbugs] [Bug 12041] New: [windows] Linking two files with <windows.h> included generates "already defined" errors

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Feb 20 05:56:08 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=12041

             Bug #: 12041
           Summary: [windows] Linking two files with <windows.h> included
                    generates "already defined" errors
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: timurrrr at google.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


$ more file1.c:
#include <windows.h>
int main(void) { return 0; }

$ more file2.c
#include <windows.h>

$ clang.exe --version
clang version 3.1 (trunk 150957)
Target: i686-pc-win32
Thread model: posix

$ clang.exe file1.c file2.c
file2-489042.o : error LNK2005: _Int64ShllMod32 at 12 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _Int64ShraMod32 at 12 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _Int64ShrlMod32 at 12 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedBitTestAndSet already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedBitTestAndReset already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedBitTestAndComplement already
defined in file1-489041.o
file2-489042.o : error LNK2005: _MemoryBarrier already defined in
file1-489041.o
file2-489042.o : error LNK2005: _ReadPMC already defined in file1-489041.o
file2-489042.o : error LNK2005: _ReadTimeStampCounter already defined in
file1-489041.o
file2-489042.o : error LNK2005: _DbgRaiseAssertionFailure already defined in
file1-489041.o
file2-489042.o : error LNK2005: _HEAP_MAKE_TAG_FLAGS already defined in
file1-489041.o
file2-489042.o : error LNK2005: _RtlSecureZeroMemory already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpInitializeCallbackEnviron already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackThreadpool already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackCleanupGroup already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackActivationContext already defined
in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackNoActivationContext already
defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackLongFunction already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackRaceWithDll already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackFinalizationCallback already
defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackPriority already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackPersistent already defined in
file1-489041.o
file2-489042.o : error LNK2005: _TpDestroyCallbackEnviron already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedAnd64 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedOr64 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedXor64 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedIncrement64 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedDecrement64 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedExchange64 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InterlockedExchangeAdd64 already defined in
file1-489041.o
file2-489042.o : error LNK2005: _InitializeThreadpoolEnvironment already
defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackPool already defined in
file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackCleanupGroup already
defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackRunsLong already defined
in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackLibrary already defined
in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackPriority already defined
in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackPersistent already
defined in file1-489041.o
file2-489042.o : error LNK2005: _DestroyThreadpoolEnvironment already defined
in file1-489041.o
file2-489042.o : error LNK2005: _HRESULT_FROM_WIN32 already defined in
file1-489041.o
a.out : fatal error LNK1169: one or more multiply defined symbols found
clang: error: linker command failed with exit code 1169 (use -v to see
invocation)

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list