mozilla-gcc9-lto.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Wed, 18 Dec 2019 02:16:48 +0100
branchfirefox71
changeset 1117 d6a688186de0
permissions -rw-r--r--
beta -> release
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1117
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
Workaround GCC/Clang6 not supporting class-temporary#6.7 [1]
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
Bugs:
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1601707
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
+ http://gcc.gnu.org/PR92831
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
+ https://bugzilla.redhat.com/show_bug.cgi?id=1779082
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
[1] http://eel.is/c++draft/class.temporary#6.7
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
--- a/dom/indexedDB/ActorsParent.cpp
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
+++ b/dom/indexedDB/ActorsParent.cpp
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
@@ -24311,11 +24311,11 @@
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
   // if we allow overwrite or not. By not allowing overwrite we raise
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
   // detectable errors rather than corrupting data.
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
   DatabaseConnection::CachedStatement stmt;
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
-  const auto& optReplaceDirective = (!mOverwrite || keyUnset)
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
-                                        ? NS_LITERAL_CSTRING("")
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
-                                        : NS_LITERAL_CSTRING("OR REPLACE ");
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
   rv = aConnection->GetCachedStatement(
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
-      NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
+      NS_LITERAL_CSTRING("INSERT ") +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
+	  ((!mOverwrite || keyUnset)
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
+           ? NS_LITERAL_CSTRING("")
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
+           : NS_LITERAL_CSTRING("OR REPLACE ")) +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
           NS_LITERAL_CSTRING("INTO object_data "
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
                              "(object_store_id, key, file_ids, data) "
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
                              "VALUES (:") +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
@@ -26076,9 +26076,6 @@
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
   const bool usingKeyRange = mOptionalKeyRange.isSome();
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
-  const auto& indexTable = mCursor->mUniqueIndex
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
-                               ? NS_LITERAL_CSTRING("unique_index_data")
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
-                               : NS_LITERAL_CSTRING("index_data");
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    37
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
@@ -26099,7 +26096,9 @@
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
                                  "object_data.file_ids, "
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
                                  "object_data.data "
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
                                  "FROM ") +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
-                             indexTable +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
+                             (mCursor->mUniqueIndex
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
+                                 ? NS_LITERAL_CSTRING("unique_index_data")
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
+                                 : NS_LITERAL_CSTRING("index_data")) +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
                              NS_LITERAL_CSTRING(
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    47
                                  " AS index_table "
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    48
                                  "JOIN object_data "
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    49
@@ -26198,9 +26197,6 @@
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    50
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    51
   const bool usingKeyRange = mOptionalKeyRange.isSome();
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    52
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    53
-  const auto& table = mCursor->mUniqueIndex
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    54
-                          ? NS_LITERAL_CSTRING("unique_index_data")
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    55
-                          : NS_LITERAL_CSTRING("index_data");
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    56
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    57
   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    58
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    59
@@ -26218,7 +26214,10 @@
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    60
                              NS_LITERAL_CSTRING(
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    61
                                  "object_data_key "
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    62
                                  " FROM ") +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    63
-                             table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    64
+                             (mCursor->mUniqueIndex
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    65
+                                 ? NS_LITERAL_CSTRING("unique_index_data")
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    66
+                                 : NS_LITERAL_CSTRING("index_data")) +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    67
+                             NS_LITERAL_CSTRING(" WHERE index_id = :") +
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    68
                              kStmtParamNameId;
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    69
 
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    70
   const auto keyRangeClause =
d6a688186de0 beta -> release
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    71