summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/JavaScriptCore/wtf
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-07-19 14:59:48 +0200
committerKent Hansen <khansen@trolltech.com>2009-09-04 12:41:01 +0200
commit91e4a472718039dc6d5c0a0d143be330e4c39020 (patch)
tree20393b39222f7e10f1ebb299c1a7406be6aa7701 /src/3rdparty/webkit/JavaScriptCore/wtf
parentec0ce28dd0a0a6c67ffd5ef166978f0ec0f95894 (diff)
Fix compilation with Sun CC 5.9: the default constructor for HashTableIteratorAdapter isn't called.
"../JavaScriptCore/wtf/RefPtrHashMap.h", line 208: Error: Cannot use std::pair<WTF::HashTableIterator<WTF::RefPtr<JSC::UString::Rep>, std::pair<WTF::RefPtr<JSC::UString::Rep>, StaticValueEntry*>, WTF::PairFirstExtractor<std::pair<WTF::RefPtr<JSC::UString::Rep>, StaticValueEntry*>>, WTF::StrHash<WTF::RefPtr<JSC::UString::Rep>>, WTF::PairHashTraits<WTF::HashTraits<WTF::RefPtr<JSC::UString::Rep>>, WTF::HashTraits<StaticValueEntry*>>, WTF::HashTraits<WTF::RefPtr<JSC::UString::Rep>>>, bool> to initialize std::pair<WTF::HashTableIteratorAdapter<WTF::HashTable<WTF::RefPtr<JSC::UString::Rep>, std::pair<WTF::RefPtr<JSC::UString::Rep>, StaticValueEntry*>, WTF::PairFirstExtractor<std::pair<WTF::RefPtr<JSC::UString::Rep>, StaticValueEntry*>>, WTF::StrHash<WTF::RefPtr<JSC::UString::Rep>>, WTF::PairHashTraits<WTF::HashTraits<WTF::RefPtr<JSC::UString::Rep>>, WTF::HashTraits<StaticValueEntry*>>, WTF::HashTraits<WTF::RefPtr<JSC::UString::Rep>>>, std::pair<WTF::RefPtr<JSC::UString::Rep>, StaticValueEntry*>>, bool>.
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/wtf')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h5
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h13
3 files changed, 23 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h b/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h
index 3de5ee6e0c..8ff917006d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h
@@ -178,7 +178,10 @@ namespace WTF {
HashMap<T, U, V, W, X>::inlineAdd(const KeyType& key, const MappedType& mapped)
{
typedef HashMapTranslator<ValueType, ValueTraits, HashFunctions> TranslatorType;
- return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+ typename HashMap<T, U, V, W, X>::iterator temp = p.first;
+ return make_pair<typename HashMap<T, U, V, W, X>::iterator, bool>(temp, p.second);
+// return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename X>
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
index 990670d4ef..ec809e549c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
@@ -204,7 +204,12 @@ namespace WTF {
template<typename T, typename U, typename V>
pair<typename HashSet<T, U, V>::iterator, bool> HashSet<T, U, V>::add(const ValueType& value)
{
- return m_impl.add(value);
+ pair<typename HashTable<T, T, IdentityExtractor<T>, U, V, V>::iterator, bool> p = m_impl.add(value);
+ typename HashSet<T, U, V>::iterator temp = p.first;
+ pair<typename HashSet<T, U, V>::iterator, bool> p2 = make_pair<typename HashSet<T, U, V>::iterator, bool>(temp, p.second);
+ // p2.first = p.first;
+ // p2.second = p.second;
+ return p2;
}
template<typename Value, typename HashFunctions, typename Traits>
@@ -213,7 +218,8 @@ namespace WTF {
HashSet<Value, HashFunctions, Traits>::add(const T& value)
{
typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
- return m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
+ return make_pair<iterator, bool>(p.first, p.second);
}
template<typename T, typename U, typename V>
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h b/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h
index 1cbebb4fe3..08f1619cbe 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h
@@ -205,14 +205,23 @@ namespace WTF {
HashMap<RefPtr<T>, U, V, W, X>::inlineAdd(const KeyType& key, const MappedType& mapped)
{
typedef HashMapTranslator<ValueType, ValueTraits, HashFunctions> TranslatorType;
- return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+// typename HashMap<RefPtr<T>, U, V, W, X>::iterator temp = p.first;
+ return make_pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>(
+ typename HashMap<RefPtr<T>, U, V, W, X>::iterator(p.first), p.second);
+
+// return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename X>
inline pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>
HashMap<RefPtr<T>, U, V, W, X>::inlineAdd(RawKeyType key, const MappedType& mapped)
{
- return m_impl.template add<RawKeyType, MappedType, RawKeyTranslator>(key, mapped);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template add<RawKeyType, MappedType, RawKeyTranslator>(key, mapped);
+ return make_pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>(
+ typename HashMap<RefPtr<T>, U, V, W, X>::iterator(p.first), p.second);
+
+ // return m_impl.template add<RawKeyType, MappedType, RawKeyTranslator>(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename X>