#
#
# patch "ChangeLog"
# from [d38462b2f1ea0fa7e7322e216b448c31bb98f810]
# to [0f1ecb08fe6d925a92005ced313f4b61c6246371]
#
# patch "cset.cc"
# from [7596f4bf16c8591f073c6c18df29668474c499c8]
# to [ac5f2a4848a4c5661496ec4f5af706de1fb6a454]
#
# patch "cset.hh"
# from [077036ac38849e3b74dcdce595fdb5ee2762f282]
# to [f2d58803ea89b51b5029a349c30acc3c6c3cf580]
#
# patch "paths.cc"
# from [f5e27ba6d46c0f26db552d0e1a78641bc4083cff]
# to [c13e9b0c44a37a70e6c7e6d5c8b8869e363ccab9]
#
# patch "paths.hh"
# from [727b9cfba7c9d150dfd7144d0d38744beb8dda7f]
# to [054a74b153b42a34140f2776f468bf79c844fa64]
#
# patch "revision.cc"
# from [8cda143f1b14ea5d67e40c9dc325b5ec6f2fd1a7]
# to [6640272c7839f8489f1fe23813d7c520afc87d02]
#
# patch "revision.hh"
# from [5e3733994a6c92c4f15f0d78aa26669458443d46]
# to [1031cee8580d55528f5fb80e754fbf6e43dedb25]
#
# patch "roster.cc"
# from [e1c0e9fe71f80b5bd457801d3cf4eb3240872c22]
# to [4547e72b235da17471b9781c3416e7eac2904027]
#
# patch "roster.hh"
# from [6811b78a4a979e2146ba44e6c3a3023dec0b4c53]
# to [0f6d33d17d3d1c804be21f2e8025d86e47f087f9]
#
# patch "sanity.cc"
# from [7b7dd4d379a294fa3d79c0bb0f39dde2ae48d315]
# to [b31758131617cacbc373a95c25cab49e15ffedc3]
#
# patch "sanity.hh"
# from [ae8401c8dc9afd96ed17ebdb5362fa3cf735d405]
# to [3d91a4abd21f2af06ea78724a922b3b52fa0838f]
#
# patch "vocab.cc"
# from [084a7a4538c3e0b062b901d0ba891fd6b66cfdfe]
# to [c3824a3441b679e4e8c2c8f29fa412bcf2d2d1c3]
#
# patch "vocab.hh"
# from [596953ad6326b68846702a85c22977f434e760e9]
# to [018407f5255129c875a8ccdfaae93c2645d1ac05]
#
============================================================
--- ChangeLog d38462b2f1ea0fa7e7322e216b448c31bb98f810
+++ ChangeLog 0f1ecb08fe6d925a92005ced313f4b61c6246371
@@ -1,3 +1,8 @@
+2006-02-12 Matthew Gregan
+
+ * {cset,paths,revision,roster,sanity,vocab}.{cc,hh}: GCC 4.1
+ compile fixes.
+
2006-02-10 Derek Scherger
* tests/t_drop_missing.at:
============================================================
--- cset.cc 7596f4bf16c8591f073c6c18df29668474c499c8
+++ cset.cc ac5f2a4848a4c5661496ec4f5af706de1fb6a454
@@ -461,7 +461,7 @@
I(src.lookahead == EOF);
}
-void
+template <> void
dump(cset const & cs, std::string & out)
{
data dat;
============================================================
--- cset.hh 077036ac38849e3b74dcdce595fdb5ee2762f282
+++ cset.hh f2d58803ea89b51b5029a349c30acc3c6c3cf580
@@ -123,7 +123,7 @@
void
read_cset(data const & dat, cset & cs);
-void
+template <> void
dump(cset const & cs, std::string & out);
============================================================
--- paths.cc f5e27ba6d46c0f26db552d0e1a78641bc4083cff
+++ paths.cc c13e9b0c44a37a70e6c7e6d5c8b8869e363ccab9
@@ -302,6 +302,7 @@
}
}
+template <>
void dump(split_path const & sp, std::string & out)
{
std::ostringstream oss;
============================================================
--- paths.hh 727b9cfba7c9d150dfd7144d0d38744beb8dda7f
+++ paths.hh 054a74b153b42a34140f2776f468bf79c844fa64
@@ -115,7 +115,7 @@
return pc == the_null_component;
}
-void dump(split_path const & sp, std::string & out);
+template <> void dump(split_path const & sp, std::string & out);
// It's possible this will become a proper virtual interface in the future,
// but since the implementation is exactly the same in all cases, there isn't
============================================================
--- revision.cc 8cda143f1b14ea5d67e40c9dc325b5ec6f2fd1a7
+++ revision.cc 6640272c7839f8489f1fe23813d7c520afc87d02
@@ -547,7 +547,7 @@
> >
parent_roster_map;
-void
+template <> void
dump(parent_roster_map const & prm, std::string & out)
{
std::ostringstream oss;
@@ -1102,7 +1102,7 @@
}
};
-void
+template <> void
dump(current_rev_debugger const & d, std::string & out)
{
typedef std::multimap >::const_iterator ci;
@@ -1565,7 +1565,7 @@
dat = data(oss.str());
}
-void
+template <> void
dump(revision_set const & rev, std::string & out)
{
data dat;
============================================================
--- revision.hh 5e3733994a6c92c4f15f0d78aa26669458443d46
+++ revision.hh 1031cee8580d55528f5fb80e754fbf6e43dedb25
@@ -90,7 +90,7 @@
return *(i->second);
}
-void
+template <> void
dump(revision_set const & rev, std::string & out);
void
============================================================
--- roster.cc e1c0e9fe71f80b5bd457801d3cf4eb3240872c22
+++ roster.cc 4547e72b235da17471b9781c3416e7eac2904027
@@ -39,7 +39,7 @@
///////////////////////////////////////////////////////////////////
-void
+template <> void
dump(full_attr_map_t const & val, std::string & out)
{
std::ostringstream oss;
@@ -50,7 +50,7 @@
out = oss.str();
}
-void
+template <> void
dump(std::set const & revids, std::string & out)
{
out.clear();
@@ -65,7 +65,7 @@
}
}
-void
+template <> void
dump(marking_t const & marking, std::string & out)
{
std::ostringstream oss;
@@ -85,7 +85,7 @@
out = oss.str();
}
-void
+template <> void
dump(marking_map const & markings, std::string & out)
{
std::ostringstream oss;
@@ -238,7 +238,7 @@
return f;
}
-void
+template <> void
dump(node_t const & n, std::string & out)
{
std::ostringstream oss;
@@ -792,7 +792,7 @@
i->second = val;
}
-void
+template <> void
dump(roster_t const & val, std::string & out)
{
std::ostringstream oss;
@@ -2891,7 +2891,7 @@
node_id curr;
};
-static void
+template <> void
dump(int const & i, std::string & out)
{
out = lexical_cast(i) + "\n";
@@ -3194,7 +3194,7 @@
scalar_none, scalar_none_2 } scalar_val;
void
- dump(scalar_val val, std::string & out)
+ dump(scalar_val const & val, std::string & out)
{
switch (val)
{
============================================================
--- roster.hh 6811b78a4a979e2146ba44e6c3a3023dec0b4c53
+++ roster.hh 0f6d33d17d3d1c804be21f2e8025d86e47f087f9
@@ -53,7 +53,7 @@
typedef std::map dir_map;
typedef std::map node_map;
-void dump(full_attr_map_t const & val, std::string & out);
+template <> void dump(full_attr_map_t const & val, std::string & out);
struct node
@@ -143,7 +143,7 @@
return f;
}
-void dump(node_t const & n, std::string & out);
+template <> void dump(node_t const & n, std::string & out);
struct marking_t
{
@@ -164,8 +164,8 @@
typedef std::map marking_map;
void dump(std::set & revids, std::string & out);
-void dump(marking_t const & marking, std::string & out);
-void dump(marking_map const & marking_map, std::string & out);
+template <> void dump(marking_t const & marking, std::string & out);
+template <> void dump(marking_map const & marking_map, std::string & out);
namespace basic_io { struct printer; struct parser; }
@@ -242,7 +242,7 @@
// place, if you were just going to put them back! this checking verifies
// that csets are in normalized form.
std::map > old_locations;
- friend void dump(roster_t const & val, std::string & out);
+ template friend void dump(T const & val, std::string & out);
};
struct temp_node_id_source
@@ -253,7 +253,7 @@
node_id curr;
};
-void dump(roster_t const & val, std::string & out);
+template <> void dump(roster_t const & val, std::string & out);
struct app_state;
struct revision_set;
============================================================
--- sanity.cc 7b7dd4d379a294fa3d79c0bb0f39dde2ae48d315
+++ sanity.cc b31758131617cacbc373a95c25cab49e15ffedc3
@@ -289,7 +289,7 @@
}
}
-void
+template <> void
dump(std::string const & obj, std::string & out)
{
out = obj;
============================================================
--- sanity.hh ae8401c8dc9afd96ed17ebdb5362fa3cf735d405
+++ sanity.hh 3d91a4abd21f2af06ea78724a922b3b52fa0838f
@@ -279,8 +279,6 @@
T const & obj;
};
-void dump(std::string const & obj, std::string & out);
-
// The header line must be printed into the "out" string before
// dump() is called.
// This is so that even if the call to dump() throws an error,
@@ -316,4 +314,6 @@
#define MM(obj) /* */
#endif
+template <> void dump(std::string const & obj, std::string & out);
+
#endif // __SANITY_HH__
============================================================
--- vocab.cc 084a7a4538c3e0b062b901d0ba891fd6b66cfdfe
+++ vocab.cc c3824a3441b679e4e8c2c8f29fa412bcf2d2d1c3
@@ -201,6 +201,7 @@
ty const & a) \
{ return (o << a.s); } \
\
+template <> \
void dump(ty const & obj, std::string & out) \
{ out = obj(); } \
\
============================================================
--- vocab.hh 596953ad6326b68846702a85c22977f434e760e9
+++ vocab.hh 018407f5255129c875a8ccdfaae93c2645d1ac05
@@ -17,6 +17,10 @@
// generally describe the "vocabulary" (nouns anyways) that modules in this
// program use.
+template
+void dump(T const &, std::string &);
+
+
#define ENCODING(enc) \
\
template \
@@ -111,6 +115,7 @@
}; \
}; \
std::ostream & operator<<(std::ostream &, ty const &); \
+template <> \
void dump(ty const &, std::string &);
#define ATOMIC_NOVERIFY(ty) \