[LLVMbugs] [Bug 13100] New: CGDebugInfo.cpp can't be compiled using MS VS 2012 RC due to C++11 standard changes

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jun 13 00:03:53 PDT 2012


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

             Bug #: 13100
           Summary: CGDebugInfo.cpp can't be compiled using MS VS 2012 RC
                    due to C++11 standard changes
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++11
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: spaun2002 at mail.ru
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8711
  --> http://llvm.org/bugs/attachment.cgi?id=8711
CGDebugInfo.cpp workaround

There are a couple of similar compiler errors during msvc11 compilation. I've
attached a patch with quick fix and here is a link to MS answer about these
errors:
https://connect.microsoft.com/VisualStudio/feedback/details/747847/type-deduction-fail

The problem is in difference in C++03 and C++11: 
C++03 20.2.2 [lib.pairs]/4 specified:

"template<class U, class V> pair(const pair<U, V> &p);
Effects: Initializes members from the corresponding members of the argument,
performing implicit conversions as needed."

Here's how C++11/VC11 changed. N3376 20.3.2 [pairs.pair]/11 specifies:

"template<class U, class V> pair(const pair<U, V>& p);
Remark: This constructor shall not participate in overload resolution unless
const U& is implicitly convertible to first_type and const V& is implicitly
convertible to second_type."

-- 
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