Revert previous change and fix -Wrange-loop-analysis complains
diff --git a/src/hb-ot-layout-gpos-table.hh b/src/hb-ot-layout-gpos-table.hh
index 2f1a1b2..7b9ccf4 100644
--- a/src/hb-ot-layout-gpos-table.hh
+++ b/src/hb-ot-layout-gpos-table.hh
@@ -598,7 +598,7 @@
     if (unlikely (!c->check_assign (valueFormat, valFormat))) return;
     if (unlikely (!c->check_assign (valueCount, it.len ()))) return;
 
-    for (const auto &&iter : it)
+    for (const auto iter : it)
       for (const auto &_ : iter.second)
 	c->copy (_);
 
@@ -665,8 +665,8 @@
   {
     hb_array_t<const Value> first_val_iter = hb_second (*glyph_val_iter_pairs);
 
-    for (const auto &&iter : glyph_val_iter_pairs)
-      for (const auto &&_ : hb_zip (iter.second, first_val_iter))
+    for (const auto iter : glyph_val_iter_pairs)
+      for (const auto _ : hb_zip (iter.second, first_val_iter))
 	if (_.first != _.second)
 	  return 2;
 
diff --git a/src/hb-ot-vorg-table.hh b/src/hb-ot-vorg-table.hh
index ddd3530..a4d6b06 100644
--- a/src/hb-ot-vorg-table.hh
+++ b/src/hb-ot-vorg-table.hh
@@ -84,7 +84,7 @@
     this->defaultVertOriginY = defaultVertOriginY;
     this->vertYOrigins.len = it.len ();
 
-    for (const auto &&_ : it) c->copy (_);
+    for (const auto _ : it) c->copy (_);
   }
 
   bool subset (hb_subset_context_t *c) const