patches/qt47/webkit11-17.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 3064 6f76bdc54801
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3064
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     1
From bc070084a9928a29289eacb1db13aad36330cc04 Mon Sep 17 00:00:00 2001
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     2
From: Thiago Macieira <[email protected]>
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     3
Date: Tue, 21 Jul 2009 14:18:35 +0200
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     4
Subject: [PATCH 11/17] Fix compilation with Sun CC 5.9: moving elements in a vector requires source not to be const
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     5
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     6
I don't know why the compiler couldn't call src->~T() on a const T *src,
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     7
but fact is it couldn't.
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     8
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
     9
In any case, since move is copying the source and deleting it, formally
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    10
the argument shouldn't be const anyway.
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    11
---
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    12
 src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h |   12 ++++++------
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    13
 1 files changed, 6 insertions(+), 6 deletions(-)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    14
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    15
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    16
index e303444..d950866 100644
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    17
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    18
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    19
@@ -129,7 +129,7 @@ namespace WTF {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    20
     template<typename T>
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    21
     struct VectorMover<false, T>
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    22
     {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    23
-        static void move(const T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    24
+        static void move(T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    25
         {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    26
             while (src != srcEnd) {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    27
                 new (dst) T(*src);
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    28
@@ -138,7 +138,7 @@ namespace WTF {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    29
                 ++src;
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    30
             }
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    31
         }
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    32
-        static void moveOverlapping(const T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    33
+        static void moveOverlapping(T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    34
         {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    35
             if (src > dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    36
                 move(src, srcEnd, dst);
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    37
@@ -157,11 +157,11 @@ namespace WTF {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    38
     template<typename T>
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    39
     struct VectorMover<true, T>
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    40
     {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    41
-        static void move(const T* src, const T* srcEnd, T* dst) 
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    42
+        static void move(T* src, const T* srcEnd, T* dst) 
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    43
         {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    44
             memcpy(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src));
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    45
         }
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    46
-        static void moveOverlapping(const T* src, const T* srcEnd, T* dst) 
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    47
+        static void moveOverlapping(T* src, const T* srcEnd, T* dst) 
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    48
         {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    49
             memmove(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src));
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    50
         }
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    51
@@ -254,12 +254,12 @@ namespace WTF {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    52
             VectorInitializer<VectorTraits<T>::needsInitialization, VectorTraits<T>::canInitializeWithMemset, T>::initialize(begin, end);
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    53
         }
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    54
 
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    55
-        static void move(const T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    56
+        static void move(T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    57
         {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    58
             VectorMover<VectorTraits<T>::canMoveWithMemcpy, T>::move(src, srcEnd, dst);
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    59
         }
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    60
 
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    61
-        static void moveOverlapping(const T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    62
+        static void moveOverlapping(T* src, const T* srcEnd, T* dst)
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    63
         {
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    64
             VectorMover<VectorTraits<T>::canMoveWithMemcpy, T>::moveOverlapping(src, srcEnd, dst);
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    65
         }
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    66
-- 
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    67
1.6.2.1.223.g2f1f
6f76bdc54801 experimental/SFEqt47: add 40 patches enabling WebKit etc.; create qmake.conf for solaris-cc-stdcxx
viskov
parents:
diff changeset
    68