bug-commoncpp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug #2128] Weird troubles with iostream and commonc++


From: nobody
Subject: [Bug #2128] Weird troubles with iostream and commonc++
Date: Fri, 17 Jan 2003 17:54:00 -0500

=================== BUG #2128: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=2128&group_id=89

Changes by: Federico Montesino Pouzols <address@hidden>
Date: 2003-Jan-17 23:53 (Europe/Madrid)

            What     | Removed                   | Added
---------------------------------------------------------------------------
         Assigned to | None                      | fedemp
                  CC |                           | address@hidden


------------------ Additional Follow-up Comments ----------------------------
Curiously enough, gcc 3.x seems to handle this
without trouble. It seems that gcc 2.9x finds
an ambiguity because of the Digest related <<
operators. I guess the easiest way to get 
around this problem is using test.c_str() 
instead of test, which seems to make gcc happy.




=================== BUG #2128: FULL BUG SNAPSHOT ===================


Submitted by: inful                   Project: commonc++                    
Submitted on: 2003-Jan-03 20:53
Category:  None                       Severity:  5 - Major                  
Bug Group:  None                      Resolution:  None                     
Assigned to:  fedemp                  Status:  Open                         

Summary:  Weird troubles with iostream and commonc++

Original Submission:  The following snippet is the minimum of code needed to 
display the problem:
#include <cc++/digest.h>
#include <iostream>
#include <string>
int main(){
  const string &test("d");
  cout << test << endl;
}
When compiled, the following error-messages appear:
test.cpp: In function `int main()':
test.cpp:6: no match for `_IO_ostream_withassign & << const 
basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> > &'
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:77: 
candidates are: class ostream & ostream::operator <<(char)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:78:     
            class ostream & ostream::operator <<(unsigned char)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:79:     
            class ostream & ostream::operator <<(signed char)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:80:     
            class ostream & ostream::operator <<(const char *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:82:     
            class ostream & ostream::operator <<(const unsigned char *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:84:     
            class ostream & ostream::operator <<(const signed char *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:85:     
            class ostream & ostream::operator <<(const void *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:86:     
            class ostream & ostream::operator <<(int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:87:     
            class ostream & ostream::operator <<(unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:88:     
            class ostream & ostream::operator <<(long int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:89:     
            class ostream & ostream::operator <<(long unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:91:     
            class ostream & ostream::operator <<(long long int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:92:     
            class ostream & ostream::operator <<(long long unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:94:     
            class ostream & ostream::operator <<(short int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:95:     
            class ostream & ostream::operator <<(short unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:97:     
            class ostream & ostream::operator <<(bool)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:99:     
            class ostream & ostream::operator <<(double)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:100:    
             class ostream & ostream::operator <<(float)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:102:    
             class ostream & ostream::operator <<(long double)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:106:    
             class ostream & ostream::operator <<(ostream & (*)(ostream &))
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:107:    
             class ostream & ostream::operator <<(ios & (*)(ios &))
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:108:    
             class ostream & ostream::operator <<(streambuf *)
/usr/include/cc++2/cc++/digest.h:125:                 class ostream & 
ost::operator <<(ostream &, ost::Digest &)
/usr/include/cc++2/cc++/digest.h:299:                 class ostream & 
ost::operator <<(ostream &, ost::SHATumbler<unsigned int> &)

This problem goes away as soon as you comment out 
#include <cc++/digest.h>


Follow-up Comments
*******************

-------------------------------------------------------
Date: 2003-Jan-17 23:53             By: fedemp
Curiously enough, gcc 3.x seems to handle this
without trouble. It seems that gcc 2.9x finds
an ambiguity because of the Digest related <<
operators. I guess the easiest way to get 
around this problem is using test.c_str() 
instead of test, which seems to make gcc happy.



CC List
*******

CC Address                          | Comment
------------------------------------+-----------------------------
address@hidden               | 



No files currently attached


For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=2128&group_id=89




reply via email to

[Prev in Thread] Current Thread [Next in Thread]