Re: gcc 3.4

Vadim Zeitlin <[email protected]>
Newsgroups gmane.mail.mahogany.devel
Message-ID <[email protected]>
On Fri, 12 Nov 2004 22:41:52 +0200 (EET) Nerijus Baliunas <[email protected]> wrote:

NB> with gcc 3.4.2 I get an error:
NB> 
NB> /a/M/M/include/Address.h: In static member function `static bool Message::CompareAddresses(const String&, const String&)':
NB> /a/M/M/include/Address.h:148: error: `AddressList_obj::AddressList_obj(const AddressList_obj&)' is private
NB> .src/mail/Message.cpp:349: error: within this context
NB> /a/M/M/include/Address.h:148: error: `AddressList_obj::AddressList_obj(const AddressList_obj&)' is private
NB> .src/mail/Message.cpp:349: error: within this context

 This is really weird. I've just stared at the code for 5 minutes but still
don't understand why the compiler wants to use the copy ctor here. Normally
it shouldn't be used in this code.

 Anyhow, I don't have gcc 3.4.2 and don't have a machine to install it on
(my brand new linux notebook is being repaired for 3 weeks already :-() so
I can't fix it myself. Please try to change the code to use named variables
instead of temporaries, i.e.

        AddressList_obj addrList1(adr1),
                        addrList2(adr2);
        return adr1 == adr2;

and commit (and close the bug 907) if it works. If not, it will have to
wait until I get my notebook back...

NB> Then, if I change #ifdef to #ifndef in Message.cpp:348:

 This shouldn't be done, the old code was wrong. I don't know why did I
keep it.

NB> In file included from /a/M/M/include/strutil.h:17,
NB>                  from .src/mail/Message.cpp:351:
NB> /a/M/M/include/pointers.h: In static member function `static bool Message::CompareAddresses(const String&, const String&)':
NB> /a/M/M/include/pointers.h:64: error: expected primary-expression before "template"

 This makes even less sense to me... where does it see an #include of
anything at line 351 of Message.cpp??

 Regards,
VZ



-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.