egcs 1.1.1: odd warning message with template friend functions

Bob Aglietti
Mon Mar 15 08:46:00 GMT 1999

 >When I compile the attached source code, I get the 
 >following warning:
 >    mi.cpp:7: warning: friend declaration `bool operator ==(
 >        const class meta_info<T> &, const class meta_info<T> &)'
 >    mi.cpp:7: warning:   declares a non-template function
 >    mi.cpp:7: warning:   (if this is not what you intended, make sure
 >    mi.cpp:7: warning:   the function template has already been declared,
 >    mi.cpp:7: warning:   and add <> after the function name here)
 >    mi.cpp:8: warning: friend declaration `class meta_info<T> metaid(
 >        const T &)'
 >    mi.cpp:8: warning:   declares a non-template function


I don't know why this message shows up in the current version, but I installed
the 2.8.1 compiler on one of my unix systems and it's nice enough to mention
that I might want to use the option: '-fguiding-decls'.  Sure enough, no
warnings.  This also works with the egcs-2.91.57 compiler I'm using on my pc.

I still don't understand what changed but this'll at least get around it.


Want to unsubscribe from this list?
Send a message to

More information about the Cygwin mailing list