Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-11841

Win32 AtomicIntrinsics relies on MSVC extension for member template specializations

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.5.5
    • Affects Version/s: None
    • Component/s: Build, Internal Code
    • Fully Compatible
    • Windows

      The specialization of InterlockedImpl in the class is illegal in atomic_intrisics_win32.h:

      An explicit specialization shall be declared in the namespace of which the template is a member, or, for member templates, in the namespace of which the enclosing class or enclosing class template is a member.

      An explicit specialization of a member function, member class or static data member of a class template shall be declared in the namespace of which the class template is a member.

      The definition should be moved up to namespace scope, which probably implies some code motion.

            Assignee:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Reporter:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: