Closed Bug 687039 Opened 13 years ago Closed 13 years ago

error: call of overloaded 'Value(js::MoveRef<const js::Value>)' is ambiguous with gcc 4.6.1-10 from Debian

Categories

(Core :: JavaScript Engine, defect)

All
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 686280
Tracking Status
firefox8 --- affected
firefox9 --- affected

People

(Reporter: glandium, Unassigned)

References

Details

In file included from /mnt/js/src/jsobj.h:59:0,
                 from /mnt/js/src/xpconnect/src/xpcpublic.h:45,
                 from /mnt/js/src/xpconnect/src/xpcprivate.h:53,
                 from /mnt/js/src/xpconnect/src/xpcwrappedjsclass.cpp:45:
/mnt/js/src/jsvector.h: In static member function ‘static void js::VectorImpl<T, N, AP, IsPod>::moveConstruct(T*, const U*, const U*) [with U = js::Value, T = js::Value, long unsigned int N = 8ul, AP = js::TempAllocPolicy, bool IsPod = false]’:
/mnt/js/src/jsvector.h:620:5:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::convertToHeapStorage(size_t) [with T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jsvector.h:637:34:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::growStorageBy(size_t) [with T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jsvector.h:673:5:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::growByImpl(size_t) [with bool InitNewElems = false, T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jsvector.h:699:34:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::growByUninitialized(size_t) [with T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jscntxt.h:2432:9:   instantiated from ‘bool js::AutoVectorRooter<T>::resize(size_t) [with T = js::Value, size_t = long unsigned int]’
/mnt/js/src/xpconnect/src/xpcwrappedjsclass.cpp:1462:26:   instantiated from here
/mnt/js/src/jsvector.h:93:13: error: call of overloaded ‘Value(js::MoveRef<const js::Value>)’ is ambiguous
/mnt/js/src/jsvector.h:93:13: note: candidates are:
/mnt/js/src/jsvalue.h:334:7: note: constexpr js::Value::Value(const js::Value&)
/mnt/js/src/jsvalue.h:334:7: note: constexpr js::Value::Value(js::Value&&)
make: *** [xpcwrappedjsclass.o] Error 1
Without -std=gnu++0x, the error becomes:
In file included from /mnt/js/src/jsobj.h:59:0,
                 from /mnt/js/src/xpconnect/src/xpcpublic.h:45,
                 from /mnt/js/src/xpconnect/src/xpcprivate.h:53,
                 from /mnt/js/src/xpconnect/src/xpcwrappedjsclass.cpp:45:
/mnt/js/src/jsvector.h: In static member function ‘static void js::VectorImpl<T, N, AP, IsPod>::moveConstruct(T*, const U*, const U*) [with U = js::Value, T = js::Value, long unsigned int N = 8ul, AP = js::TempAllocPolicy, bool IsPod = false]’:
/mnt/js/src/jsvector.h:620:5:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::convertToHeapStorage(size_t) [with T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jsvector.h:637:34:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::growStorageBy(size_t) [with T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jsvector.h:673:5:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::growByImpl(size_t) [with bool InitNewElems = false, T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jsvector.h:699:34:   instantiated from ‘bool js::Vector<T, MinInlineCapacity, AllocPolicy>::growByUninitialized(size_t) [with T = js::Value, long unsigned int N = 8ul, AllocPolicy = js::TempAllocPolicy, size_t = long unsigned int]’
/mnt/js/src/jscntxt.h:2432:9:   instantiated from ‘bool js::AutoVectorRooter<T>::resize(size_t) [with T = js::Value, size_t = long unsigned int]’
/mnt/js/src/xpconnect/src/xpcwrappedjsclass.cpp:1462:26:   instantiated from here
/mnt/js/src/jsvector.h:93:13: error: invalid cast from type ‘js::MoveRef<const js::Value>’ to type ‘const js::Value*’
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.