[LLVMbugs] [Bug 6505] New: EquivalenceClasses::ECValue's private constructor is inaccessible when combined with a rvalue reference aware STL.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Mar 5 00:38:14 PST 2010


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

           Summary: EquivalenceClasses::ECValue's private constructor is
                    inaccessible when combined with a rvalue reference
                    aware STL.
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: enhancement
          Priority: P5
         Component: Support Libraries
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: ahmedcharles at gmail.com
                CC: llvmbugs at cs.uiuc.edu


EquivalenceClasses::ECValue has an implicit, private constructor which ends up
getting called in the following places:

include/llvm/ADT/EquivalenceClasses.h:193
include/llvm/ADT/EquivalenceClasses.h:206

Rvalue reference versions of set::find and set::insert will be used to forward
the arguments rather than force the construction of the ECValue type within the
EquivalenceClasses members. This is meant to be a performance optimization
because it results in less constructions of ECValue. The fix which results in
the same behavior as today is to explicitly call the ECValue constructor when
passing the value to both methods above.

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