Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-538

ATOMIC_OPS.cpp test fails to link (unresolved external symbol: _InterlockedIncrement)

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.3, 4.1.4
    • Fix Version/s: 4.2.0
    • Component/s: Configuration
    • Labels:
      None
    • Environment:

      x64 Windows

      Description

      ATOMIC_OPS.cpp configuration test failed on MSVC8.0-x64 due to undefined external symbol _InterlockedIncrement.
      Because of this _RWSTD_NO_ATOMIC_OPS macro has been #defined in config.h.

      The InterlockedIncrement() function defined only in Win32 platform (located in kernel32.dll). At x64 platform this function is declared, but kernel32.dll doesn't exports this function. The MSVC8 injects code of the function instead of call (so called intrinsic function).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                farid Farid Zaripov
                Reporter:
                farid Farid Zaripov
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: