tags 365121 +patch thanks In standard C++, friend functions that are only declared inside a class can only be found by argument-dependent lookup (and can only be defined inline, though it's not a syntax error to fail to do so!)
The following patch fixes the compilation errors:
--- src/include/projdesc.h~ 2004-05-10 01:40:55.000000000 +0100
+++ src/include/projdesc.h 2006-03-10 02:41:13.729466784 +0000
@@ -130,6 +130,10 @@
class AttrDesc { public: const char* name; AttrType type; };
+class PrcsAttrs;
+bool attrs_equal(const PrcsAttrs*const& x, const PrcsAttrs*const& y);
+int attrs_hash(const PrcsAttrs*const& s, int M);
+
class PrcsAttrs {
friend class ProjectDescriptor;
friend class FileEntry;
@@ -181,6 +185,12 @@
bool is_working,
FILE* pipe,
ProjectReadData flags);
+PrBoolError setkeys_internal(const char* input_buffer0,
+ int input_buffer_len0,
+ ostream* os,
+ MemorySegment* seg,
+ FileEntry *fe,
+ SetkeysAction action);
class ProjectDescriptor {
--- src/include/vc.h~ 2004-05-10 01:40:55.000000000 +0100
+++ src/include/vc.h 2006-03-10 02:41:53.920167517 +0000
@@ -135,6 +135,10 @@
* and checked in, the version's parent will be B.4, and the first
* MergeParent will be A.3.
*/
+
+class ProjectVersionData;
+ostream& operator<<(ostream& o, const ProjectVersionData* pvd);
+
class ProjectVersionData : public RcsVersionData {
public:
ProjectVersionData(int index);
-- END --
As a temporary alternative, the g++ option "-ffriend-injection" may be
used instead of changing the code, but this option will probably be
removed in some later version.
Ben.
--
Ben Hutchings
Q. Which is the greater problem in the world today, ignorance or apathy?
A. I don't know and I couldn't care less.
signature.asc
Description: This is a digitally signed message part

