--- a/stage3/datatype_functions.cc Fri Feb 17 19:47:23 2012 +0000
+++ b/stage3/datatype_functions.cc Fri Feb 17 19:47:58 2012 +0000
@@ -193,7 +193,10 @@
void copy_candidate_datatype_list(symbol_c *from, symbol_c *to) {
if ((NULL == from) || (NULL == to))
return;
- std::copy(from->candidate_datatypes.begin(), from->candidate_datatypes.end(), to->candidate_datatypes.begin());
+ for(unsigned int i = 0; i < from->candidate_datatypes.size(); i++)
+ to->candidate_datatypes.push_back(from->candidate_datatypes[i]);
+ /* for some reason, the following alternative implementation results in a segmentation fault! I am not going to bother with this for now! */
+// std::copy(from->candidate_datatypes.begin(), from->candidate_datatypes.end(), to->candidate_datatypes.begin());
}