Details
Description
When using clang with -stdlib=libc++ option, QtScript fails to build.
These lines are added to macx-clang/qmake.conf:
QMAKE_CXXFLAGS += -stdlib=libc++ QMAKE_LFLAGS += -stdlib=libc++
Command to configure:
./configure -developer-build -opensource -confirm-license -nomake examples -nomake tests -no-c++11
Build error in QtScript:
stephen-chus-mac-pro:qtscript stephenchu$ make cd src/ && make -f Makefile cd script/ && make -f Makefile make -f Makefile.Debug all clang++ -c -pipe -mmacosx-version-min=10.6 -stdlib=libc++ -g -gdwarf-2 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -fPIC -DQT_SHARED -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_XCB -DQT_COMPILER_SUPPORTS_SSE2 -DQT_COMPILER_SUPPORTS_SSE3 -DQT_COMPILER_SUPPORTS_SSSE3 -DQT_COMPILER_SUPPORTS_SSE4_1 -DQT_COMPILER_SUPPORTS_SSE4_2 -DQT_COMPILER_SUPPORTS_AVX -DQT_COMPILER_SUPPORTS_AVX2 -DJSC=QTJSC -Djscyyparse=qtjscyyparse -Djscyylex=qtjscyylex -Djscyyerror=qtjscyyerror -DWTF=QTWTF -DQT_BUILD_SCRIPT_LIB -DQT_NO_USING_NAMESPACE -DQLALR_NO_QSCRIPTGRAMMAR_DEBUG_INFO -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DBUILDING_QT__=1 -DENABLE_JSC_MULTIPLE_THREADS=0 -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1 -DJS_NO_EXPORT -DQT_CORE_LIB -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../qtbase/mkspecs/macx-clang -I. -I../../../qtbase/include/QtCore/5.0.0 -I../../../qtbase/include/QtCore/5.0.0/QtCore -I../../../qtbase/include/QtCore -I../../../qtbase/include -I../3rdparty/javascriptcore/JavaScriptCore -I../3rdparty/javascriptcore -I../3rdparty/javascriptcore/JavaScriptCore/assembler -I../3rdparty/javascriptcore/JavaScriptCore/bytecode -I../3rdparty/javascriptcore/JavaScriptCore/bytecompiler -I../3rdparty/javascriptcore/JavaScriptCore/debugger -I../3rdparty/javascriptcore/JavaScriptCore/interpreter -I../3rdparty/javascriptcore/JavaScriptCore/jit -I../3rdparty/javascriptcore/JavaScriptCore/parser -I../3rdparty/javascriptcore/JavaScriptCore/pcre -I../3rdparty/javascriptcore/JavaScriptCore/profiler -I../3rdparty/javascriptcore/JavaScriptCore/runtime -I../3rdparty/javascriptcore/JavaScriptCore/wrec -I../3rdparty/javascriptcore/JavaScriptCore/wtf -I../3rdparty/javascriptcore/JavaScriptCore/wtf/symbian -I../3rdparty/javascriptcore/JavaScriptCore/wtf/unicode -I../3rdparty/javascriptcore/JavaScriptCore/yarr -I../3rdparty/javascriptcore/JavaScriptCore/API -I../3rdparty/javascriptcore/JavaScriptCore/ForwardingHeaders -I../3rdparty/javascriptcore/JavaScriptCore/generated -I../../include/QtScript/5.0.0 -I../../include/QtScript/5.0.0/QtScript -I../../include -I../../include/QtScript -I../../include -I.rcc/debug-shared -I/Qt/qt5/qtscript/src/3rdparty/javascriptcore/WebKit/qt/Api -I../3rdparty/javascriptcore/JavaScriptCore/pcre -I/Qt/qt5/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/tmp -I../3rdparty/javascriptcore/JavaScriptCore -I../3rdparty/javascriptcore/JavaScriptCore/parser -I../3rdparty/javascriptcore/JavaScriptCore/bytecompiler -I../3rdparty/javascriptcore/JavaScriptCore/debugger -I../3rdparty/javascriptcore/JavaScriptCore/runtime -I../3rdparty/javascriptcore/JavaScriptCore/wtf -I/Qt/qt5/qtscript/src/script/../3rdparty/javascriptcore/JavaScriptCore/unicode -I../3rdparty/javascriptcore/JavaScriptCore/interpreter -I../3rdparty/javascriptcore/JavaScriptCore/jit -I../3rdparty/javascriptcore/JavaScriptCore/profiler -I../3rdparty/javascriptcore/JavaScriptCore/wrec -I../3rdparty/javascriptcore/JavaScriptCore/API -I../3rdparty/javascriptcore/JavaScriptCore/bytecode -I../3rdparty/javascriptcore/JavaScriptCore/assembler -I../3rdparty/javascriptcore/JavaScriptCore/generated -I. -Iparser -I.moc/debug-shared -F/Qt/qt5/qtbase/lib -o obj/debug/JSBase.o ../3rdparty/javascriptcore/JavaScriptCore/API/JSBase.cpp In file included from ../3rdparty/javascriptcore/JavaScriptCore/API/JSBase.cpp:26: In file included from ../3rdparty/javascriptcore/JavaScriptCore/config.h:68: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.h:27: In file included from /usr/include/c++/v1/new:56: In file included from /usr/include/c++/v1/exception:81: /usr/include/c++/v1/type_traits:3026:22: error: call to 'swap' is ambiguous typedef decltype(swap(_VSTD::declval<_Tp&>(), _VSTD::declval<_Tp&>())) type; ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/v1/__config:367:32: note: expanded from macro 'decltype' #define decltype(x) __typeof__(x) ^ /usr/include/c++/v1/type_traits:3034:48: note: in instantiation of template class 'std::__1::__detail::__swappable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int> >' requested here : public integral_constant<bool, __detail::__swappable<_Tp>::value> ^ /usr/include/c++/v1/utility:405:5: note: in instantiation of template class 'std::__1::__is_swappable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int> >' requested here __is_swappable<_T1>::value && ^ /usr/include/c++/v1/utility:409:1: note: while substituting deduced template arguments into function template 'swap' [with _T1 = std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, _T2 = ] swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:756:53: note: in instantiation of member function 'QTWTF::Mover<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, true>::move' requested here Mover<ValueType, Traits::needsDestruction>::move(entry,... ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:911:17: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::reinsert' requested here reinsert(oldTable[i]); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:370:25: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all) void shrink() { rehash(m_tableSize / 2); } ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:824:13: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::shrink' requested here shrink(); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:801:9: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::remove' requested here remove(pos); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:844:9: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::removeAndInvalidateWithoutEntryConsistencyCheck' requested here r... ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashMap.h:288:16: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::removeWithoutEntryConsistencyCheck' requested here m_impl.removeWithoutEntryConsistencyCheck(it.m_impl); ^ ../3rdparty/javascriptcore/JavaScriptCore/runtime/StructureTransitionTable.h:132:26: note: in instantiation of member function 'QTWTF::HashMap<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *>, QTJSC::StructureTransitionTableHash, QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >::remove' requested here table()->remove(find); ^ /usr/include/c++/v1/utility:409:1: note: candidate function [with _T1 = QTWTF::RefPtr<QTJSC::UStringImpl>, _T2 = unsigned int] swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:264:50: note: candidate function [with T = QTWTF::RefPtr<QTJSC::UStringImpl>, U = unsigned int] template<typename T, typename U> inline void swap(pair<T, U>& a, pair<T, U>& b) ^ /usr/include/c++/v1/type_traits:2996:1: note: candidate function [with _Tp = std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>] swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value && ^ /usr/include/c++/v1/type_traits:3021:7: note: candidate function __nat swap(__any, __any); ^ In file included from ../3rdparty/javascriptcore/JavaScriptCore/API/JSBase.cpp:30: In file included from ../3rdparty/javascriptcore/JavaScriptCore/API/APICast.h:29: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSAPIValueWrapper.h:28: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSCell.h:26: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h:27: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashCountedSet.h:26: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashMap.h:24: ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:266:9: error: call to 'swap' is ambiguous swap(a.first, b.first); ^~~~ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:272:85: note: in instantiation of function template specialization 'QTWTF::swap<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >' requested here ...T> struct Mover<T, true> { static void move(T& from, T& to) { swap(from, to); } }; ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:756:53: note: in instantiation of member function 'QTWTF::Mover<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, true>::move' requested here Mover<ValueType, Traits::needsDestruction>::move(entry,... ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:911:17: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::reinsert' requested here reinsert(oldTable[i]); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:370:25: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::rehash' requested here void shrink() { rehash(m_tableSize / 2); } ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:824:13: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::shrink' requested here shrink(); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:801:9: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::remove' requested here remove(pos); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:844:9: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::removeAndInvalidateWithoutEntryConsistencyCheck' requested here r... ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashMap.h:288:16: note: in instantiation of member function 'QTWTF::HashTable<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> >, QTWTF::PairFirstExtractor<std::__1::pair<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHash, QTWTF::PairHashTraits<QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >, QTJSC::StructureTransitionTableHashTraits>::removeWithoutEntryConsistencyCheck' requested here m_impl.removeWithoutEntryConsistencyCheck(it.m_impl); ^ ../3rdparty/javascriptcore/JavaScriptCore/runtime/StructureTransitionTable.h:132:26: note: in instantiation of member function 'QTWTF::HashMap<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>, std::__1::pair<QTJSC::Structure *, QTJSC::Structure *>, QTJSC::StructureTransitionTableHash, QTJSC::StructureTransitionTableHashTraits, QTWTF::HashTraits<std::__1::pair<QTJSC::Structure *, QTJSC::Structure *> > >::remove' requested here table()->remove(find); ^ /usr/include/c++/v1/utility:409:1: note: candidate function [with _T1 = QTWTF::RefPtr<QTJSC::UStringImpl>, _T2 = unsigned int] swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:264:50: note: candidate function [with T = QTWTF::RefPtr<QTJSC::UStringImpl>, U = unsigned int] template<typename T, typename U> inline void swap(pair<T, U>& a, pair<T, U>& b) ^ /usr/include/c++/v1/type_traits:2996:1: note: candidate function [with _Tp = std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, unsigned int>] swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value && ^ In file included from ../3rdparty/javascriptcore/JavaScriptCore/API/JSBase.cpp:30: In file included from ../3rdparty/javascriptcore/JavaScriptCore/API/APICast.h:29: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSAPIValueWrapper.h:28: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSCell.h:26: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h:27: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashCountedSet.h:26: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashMap.h:24: ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:267:9: error: call to 'swap' is ambiguous swap(a.second, b.second); ^~~~ /usr/include/c++/v1/utility:409:1: note: candidate function [with _T1 = QTJSC::Structure *, _T2 = QTJSC::Structure *] swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:264:50: note: candidate function [with T = QTJSC::Structure *, U = QTJSC::Structure *] template<typename T, typename U> inline void swap(pair<T, U>& a, pair<T, U>& b) ^ /usr/include/c++/v1/type_traits:2996:1: note: candidate function [with _Tp = std::__1::pair<QTJSC::Structure *, QTJSC::Structure *>] swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value && ^ In file included from ../3rdparty/javascriptcore/JavaScriptCore/API/JSBase.cpp:30: In file included from ../3rdparty/javascriptcore/JavaScriptCore/API/APICast.h:29: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSAPIValueWrapper.h:28: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSCell.h:26: In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h:27: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashCountedSet.h:26: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashMap.h:24: ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:272:85: error: call to 'swap' is ambiguous ...T> struct Mover<T, true> { static void move(T& from, T& to) { swap(from, to); } }; ^~~~ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:756:53: note: in instantiation of member function 'QTWTF::Mover<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry>, true>::move' requested here Mover<ValueType, Traits::needsDestruction>::move(entry,... ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:911:17: note: in instantiation of member function 'QTWTF::HashTable<QTWTF::RefPtr<QTJSC::UStringImpl>, std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry>, QTWTF::PairFirstExtractor<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry> >, QTJSC::IdentifierRepHash, QTWTF::PairHashTraits<QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> >, QTJSC::SymbolTableIndexHashTraits>, QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> > >::reinsert' requested here reinsert(oldTable[i]); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:889:9: note: in instantiation of member function 'QTWTF::HashTable<QTWTF::RefPtr<QTJSC::UStringImpl>, std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry>, QTWTF::PairFirstExtractor<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry> >, QTJSC::IdentifierRepHash, QTWTF::PairHashTraits<QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> >, QTJSC::SymbolTableIndexHashTraits>, QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> > >::rehash' requested here rehash(newSize); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:625:13: note: in instantiation of member function 'QTWTF::HashTable<QTWTF::RefPtr<QTJSC::UStringImpl>, std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry>, QTWTF::PairFirstExtractor<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry> >, QTJSC::IdentifierRepHash, QTWTF::PairHashTraits<QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> >, QTJSC::SymbolTableIndexHashTraits>, QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> > >::expand' requested here expand(); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/RefPtrHashMap.h:225:74: note: in instantiation of function template specialization 'QTWTF::HashTable<QTWTF::RefPtr<QTJSC::UStringImpl>, std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry>, QTWTF::PairFirstExtractor<std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry> >, QTJSC::IdentifierRepHash, QTWTF::PairHashTraits<QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> >, QTJSC::SymbolTableIndexHashTraits>, QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> > >::add<QTJSC::UStringImpl *, QTJSC::SymbolTableEntry, QTWTF::RefPtrHashMapRawKeyTranslator<QTJSC::UStringImpl *, std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry>, QTWTF::PairHashTraits<QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> >, QTJSC::SymbolTableIndexHashTraits>, QTJSC::IdentifierRepHash> >' requested here ...bool> p = m_impl.template add<RawKeyType, MappedType, RawKeyTranslator>(key, mapped); ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/RefPtrHashMap.h:267:16: note: in instantiation of member function 'QTWTF::RefPtrHashMap<QTJSC::UStringImpl, QTJSC::SymbolTableEntry, QTJSC::IdentifierRepHash, QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> >, QTJSC::SymbolTableIndexHashTraits>::inlineAdd' requested here return inlineAdd(key, mapped); ^ ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h:333:27: note: in instantiation of member function 'QTWTF::RefPtrHashMap<QTJSC::UStringImpl, QTJSC::SymbolTableEntry, QTJSC::IdentifierRepHash, QTWTF::HashTraits<QTWTF::RefPtr<QTJSC::UStringImpl> >, QTJSC::SymbolTableIndexHashTraits>::add' requested here symbolTable().add(global.identifier.ustring().rep(), newEntry); ^ /usr/include/c++/v1/utility:409:1: note: candidate function [with _T1 = QTWTF::RefPtr<QTJSC::UStringImpl>, _T2 = QTJSC::SymbolTableEntry] swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h:264:50: note: candidate function [with T = QTWTF::RefPtr<QTJSC::UStringImpl>, U = QTJSC::SymbolTableEntry] template<typename T, typename U> inline void swap(pair<T, U>& a, pair<T, U>& b) ^ /usr/include/c++/v1/type_traits:2996:1: note: candidate function [with _Tp = std::__1::pair<QTWTF::RefPtr<QTJSC::UStringImpl>, QTJSC::SymbolTableEntry>] swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value && ^ 4 errors generated. make[3]: *** [obj/debug/JSBase.o] Error 1 make[2]: *** [debug-all] Error 2 make[1]: *** [sub-script-make_default-ordered] Error 2 make: *** [module-qtscript-src-make_default] Error 2 stephen-chus-mac-pro:qtscript stephenchu$