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

Workaround GCC/Clang6 not supporting class-temporary#6.7 [1]
Bugs:
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1601707
+ http://gcc.gnu.org/PR92831
+ https://bugzilla.redhat.com/show_bug.cgi?id=1779082

[1] http://eel.is/c++draft/class.temporary#6.7

diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -24311,11 +24311,11 @@
   // if we allow overwrite or not. By not allowing overwrite we raise
   // detectable errors rather than corrupting data.
   DatabaseConnection::CachedStatement stmt;
-  const auto& optReplaceDirective = (!mOverwrite || keyUnset)
-                                        ? NS_LITERAL_CSTRING("")
-                                        : NS_LITERAL_CSTRING("OR REPLACE ");
   rv = aConnection->GetCachedStatement(
-      NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
+      NS_LITERAL_CSTRING("INSERT ") +
+	  ((!mOverwrite || keyUnset)
+           ? NS_LITERAL_CSTRING("")
+           : NS_LITERAL_CSTRING("OR REPLACE ")) +
           NS_LITERAL_CSTRING("INTO object_data "
                              "(object_store_id, key, file_ids, data) "
                              "VALUES (:") +
@@ -26076,9 +26076,6 @@
 
   const bool usingKeyRange = mOptionalKeyRange.isSome();
 
-  const auto& indexTable = mCursor->mUniqueIndex
-                               ? NS_LITERAL_CSTRING("unique_index_data")
-                               : NS_LITERAL_CSTRING("index_data");
 
   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
 
@@ -26099,7 +26096,9 @@
                                  "object_data.file_ids, "
                                  "object_data.data "
                                  "FROM ") +
-                             indexTable +
+                             (mCursor->mUniqueIndex
+                                 ? NS_LITERAL_CSTRING("unique_index_data")
+                                 : NS_LITERAL_CSTRING("index_data")) +
                              NS_LITERAL_CSTRING(
                                  " AS index_table "
                                  "JOIN object_data "
@@ -26198,9 +26197,6 @@
 
   const bool usingKeyRange = mOptionalKeyRange.isSome();
 
-  const auto& table = mCursor->mUniqueIndex
-                          ? NS_LITERAL_CSTRING("unique_index_data")
-                          : NS_LITERAL_CSTRING("index_data");
 
   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
 
@@ -26218,7 +26214,10 @@
                              NS_LITERAL_CSTRING(
                                  "object_data_key "
                                  " FROM ") +
-                             table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
+                             (mCursor->mUniqueIndex
+                                 ? NS_LITERAL_CSTRING("unique_index_data")
+                                 : NS_LITERAL_CSTRING("index_data")) +
+                             NS_LITERAL_CSTRING(" WHERE index_id = :") +
                              kStmtParamNameId;
 
   const auto keyRangeClause =