summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2019-08-14 17:42:44 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2019-08-14 17:42:44 +0300
commitd75b2afb685822d7cacccffa82d9c4cae8370bf9 (patch)
treeddb62e8cddfbb3d9e35175970d352535205febda /cli
parent8c1e0035404050376350d5e9b9242f5d39a6b53e (diff)
Fix merge() function generated for map parser
Diffstat (limited to 'cli')
-rw-r--r--cli/runtime-source.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/cli/runtime-source.cxx b/cli/runtime-source.cxx
index dab695c..fff7f22 100644
--- a/cli/runtime-source.cxx
+++ b/cli/runtime-source.cxx
@@ -998,7 +998,10 @@ generate_runtime_source (context& ctx, bool complete)
os << "static void" << endl
<< "merge (std::map<K, V>& b, const std::map<K, V>& a)"
<< "{"
- << "b.insert (a.begin (), a.end ());"
+ << "for (typename std::map<K, V>::const_iterator i (a.begin ()); " << endl
+ << "i != a.end (); " << endl
+ << "++i)" << endl
+ << "b[i->first] = i->second;"
<< "}";
os << "};";