diff options
author | Sérgio Martins <sergio.martins@kdab.com> | 2015-07-01 17:23:10 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-07-04 06:03:21 +0000 |
commit | ebe4ab04ca156c64a5c56a6fca877654b451fe3d (patch) | |
tree | 83cf0a47657c2d3deadca672661358fb34d9cd77 /src/tools/qlalr | |
parent | 0698f876ca02b85c1e584b72cac3444796f6a355 (diff) | |
download | qtbase-ebe4ab04ca156c64a5c56a6fca877654b451fe3d.tar.gz |
Use const-ref in foreach if T is big or non-trivial
Criteria: Linux x86_64, sizeof(T) > 8
Change-Id: I78c2b776ff219fa1ff6632fde17ae25fae66c54e
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/tools/qlalr')
-rw-r--r-- | src/tools/qlalr/compress.cpp | 2 | ||||
-rw-r--r-- | src/tools/qlalr/cppgenerator.cpp | 4 | ||||
-rw-r--r-- | src/tools/qlalr/lalr.cpp | 8 | ||||
-rw-r--r-- | src/tools/qlalr/parsetable.cpp | 2 |
4 files changed, 8 insertions, 8 deletions
diff --git a/src/tools/qlalr/compress.cpp b/src/tools/qlalr/compress.cpp index 247b284421..fa67504a08 100644 --- a/src/tools/qlalr/compress.cpp +++ b/src/tools/qlalr/compress.cpp @@ -183,7 +183,7 @@ void Compress::operator () (int *table, int row_count, int column_count) index.fill (-999999, row_count); - foreach (UncompressedRow row, sortedTable) + foreach (const UncompressedRow &row, sortedTable) { int first_token = std::distance (row.begin (), row.beginNonZeros ()); QVector<int>::iterator pos = info.begin (); diff --git a/src/tools/qlalr/cppgenerator.cpp b/src/tools/qlalr/cppgenerator.cpp index 80f7a4ed2b..3005690e6e 100644 --- a/src/tools/qlalr/cppgenerator.cpp +++ b/src/tools/qlalr/cppgenerator.cpp @@ -163,7 +163,7 @@ void CppGenerator::operator () () if (item->rule == grammar.goal) accept_state = q; - foreach (Name s, lookaheads) + foreach (const Name &s, lookaheads) { int &u = ACTION (q, aut.id (s)); @@ -616,7 +616,7 @@ void CppGenerator::generateImpl (QTextStream &out) out << name_ids.value(rule->lhs); - foreach (Name n, rule->rhs) + foreach (const Name &n, rule->rhs) out << ", " << name_ids.value (n); } out << "};" << endl << endl; diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp index 3d0d5de19b..4470c8f07f 100644 --- a/src/tools/qlalr/lalr.cpp +++ b/src/tools/qlalr/lalr.cpp @@ -367,7 +367,7 @@ void Automaton::closure (StatePointer state) if (_M_grammar->isNonTerminal (*item->dot)) { - foreach (RulePointer rule, _M_grammar->rule_map.values (*item->dot)) + foreach (const RulePointer &rule, _M_grammar->rule_map.values (*item->dot)) { Item ii; ii.rule = rule; @@ -413,7 +413,7 @@ void Automaton::buildLookbackSets () if (! _M_grammar->isNonTerminal (A)) continue; - foreach (RulePointer rule, _M_grammar->rule_map.values (A)) + foreach (const RulePointer &rule, _M_grammar->rule_map.values (A)) { StatePointer q = p; @@ -606,7 +606,7 @@ void Automaton::buildIncludesDigraph () if (! _M_grammar->isNonTerminal (name)) continue; - foreach (RulePointer rule, _M_grammar->rule_map.values (name)) + foreach (const RulePointer &rule, _M_grammar->rule_map.values (name)) { StatePointer p = pp; @@ -706,7 +706,7 @@ void Automaton::buildLookaheads () { for (ItemPointer item = p->closure.begin (); item != p->closure.end (); ++item) { - foreach (Lookback lookback, lookbacks.values (item)) + foreach (const Lookback &lookback, lookbacks.values (item)) { StatePointer q = lookback.state; diff --git a/src/tools/qlalr/parsetable.cpp b/src/tools/qlalr/parsetable.cpp index 8b62e597ef..77e2219987 100644 --- a/src/tools/qlalr/parsetable.cpp +++ b/src/tools/qlalr/parsetable.cpp @@ -91,7 +91,7 @@ void ParseTable::operator () (Automaton *aut) first = false; - foreach (Name la, aut->lookaheads.value (item)) + foreach (const Name &la, aut->lookaheads.value (item)) out << " " << *la << " reduce using rule " << aut->id (item->rule) << " (" << *item->rule->lhs << ")" << endl; } |