------- Additional Comments From nomis80 at nomis80 dot org 2004-12-22 20:54 ------- I just got hit with that bug and spent too much time figuring out what was wrong. Here's my code, just to show an example of real-life usage:
////////////////////////////////////////////////////////////////////////// /** * Returns the unsigned version of \a number. */ template< class T > T abs( T number ) { // This is the default implementation, using comparison to zero and unary // negation operator. if ( number < 0 ) { return -number; } return number; } // Here are some specific implementations. template<> bool WRAP_API abs( bool number ); template<> char WRAP_API abs( char number ); template<> unsigned char WRAP_API abs( unsigned char number ); template<> short WRAP_API abs( short number ); template<> unsigned short WRAP_API abs( unsigned short number ); template<> int WRAP_API abs( int number ); template<> unsigned int WRAP_API abs( unsigned int number ); template<> long WRAP_API abs( long number ); template<> unsigned long WRAP_API abs( unsigned long number ); template<> float WRAP_API abs( float number ); template<> double WRAP_API abs( double number ); ////////////////////////////////////////////////////////////////////////// Please fix this bug! -- What |Removed |Added ---------------------------------------------------------------------------- CC| |s_gccbugzilla at nedprod dot | |com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17470