This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Change to g++ on June 1 breaks many things.


Hi, Jason,

Your changes to cp on June 1 seems to fix my template bug. But it
creates a few new bugs. The first one is in libio:

/home/work/gnu/src/egcs/libio/pfstream.cc:57: sorry, not implemented: testing op_identifier for template parms
/home/work/gnu/src/egcs/libio/pfstream.cc: In method `ipfstream::ipfstream(const char *, int = ios::in, int = 436)':
/home/work/gnu/src/egcs/libio/pfstream.cc:57: confused by earlier errors, bailing out

Also I saw

c++  -g -O2 -B/home/work/gnu/bin/egcs-ppro/gcc/ -c test.cpp
test.cpp: In function `void ShareFile(int, int, const char *)':
test.cpp:236: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:236: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:236: warning:   because conversion sequence for `this' argument is better
test.cpp:236: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:236: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:236: warning:   because conversion sequence for `this' argument is better
test.cpp:239: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:239: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:239: warning:   because conversion sequence for `this' argument is better
test.cpp:260: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:260: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:260: warning:   because conversion sequence for `this' argument is better
test.cpp:262: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:262: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:262: warning:   because conversion sequence for `this' argument is better
test.cpp:263: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:263: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:263: warning:   because conversion sequence for `this' argument is better
test.cpp: In function `void AssembleFile(char *, char **, int)':
test.cpp:287: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:287: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:287: warning:   because conversion sequence for `this' argument is better
test.cpp:289: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:289: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:289: warning:   because conversion sequence for `this' argument is better
test.cpp:290: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
test.cpp:290: warning:   for conversion from `SecByteBlock' to `const byte *'
test.cpp:290: warning:   because conversion sequence for `this' argument is better
c++  -g -O2 -B/home/work/gnu/bin/egcs-ppro/gcc/ -c bench.cpp
xormac.h: In method `XMACC<T>::XMACC(const byte *, long unsigned int = 0ffffffff)':
In file included from bench.cpp:8:
xormac.h:38: warning: to refer to a type member of a template parameter,
xormac.h:38: warning:   use `typename T::HashWordType'
algebra.h: In method `typename AbstractEuclideanDomain<T>::Element EuclideanDomainOf<T>::Zero() const':
In file included from modarith.h:9,
                 from blumshub.h:5,
                 from bench.cpp:27:
algebra.h:120: request for member `Element' is ambiguous in multiple inheritance lattice
algebra.h:120: parse error before `::'
algebra.h: In method `typename AbstractEuclideanDomain<T>::Element EuclideanDomainOf<T>::One() const':
algebra.h:141: request for member `Element' is ambiguous in multiple inheritance lattice
algebra.h:141: parse error before `::'
algebra.h: In method `void EuclideanDomainOf<T>::DivisionAlgorithm(typename AbstractEuclideanDomain<T>::Element &, typename AbstractEuclideanDomain<T>::Element &, typename AbstractEuclideanDomain<T>::Element &, typename AbstractEuclideanDomain<T>::Element &) const':
algebra.h:162: request for member `Element' is ambiguous in multiple inheritance lattice
algebra.h:162: parse error before `::'
bench.cpp: In function `float BenchMark(class HashModule &, float)':
bench.cpp:683: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:683: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:683: warning:   because conversion sequence for `this' argument is better
bench.cpp: In function `float BenchMark(class BufferedTransformation &, float)':
bench.cpp:707: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:707: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:707: warning:   because conversion sequence for `this' argument is better
bench.cpp: In function `float BenchMarkEncryption(class PK_Encryptor &, float)':
bench.cpp:730: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:730: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:730: warning:   because conversion sequence for `this' argument is better
bench.cpp: In function `float BenchMarkDecryption(class PK_Decryptor &, class PK_Encryptor &, float)':
bench.cpp:744: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:744: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:744: warning:   because conversion sequence for `this' argument is better
bench.cpp:750: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:750: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:750: warning:   because conversion sequence for `this' argument is better
bench.cpp: In function `float BenchMarkSignature(class PK_Signer &, float)':
bench.cpp:768: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:768: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:768: warning:   because conversion sequence for `this' argument is better
bench.cpp: In function `float BenchMarkVerification(class PK_Signer &, class PK_Verifier &, float)':
bench.cpp:781: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:781: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:781: warning:   because conversion sequence for `this' argument is better
bench.cpp:787: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:787: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:787: warning:   because conversion sequence for `this' argument is better
bench.cpp:787: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
bench.cpp:787: warning:   for conversion from `SecByteBlock' to `const byte *'
bench.cpp:787: warning:   because conversion sequence for `this' argument is better
hmac.h: In method `void HMAC<MD5>::Init<MD5>()':
hmac.h:40:   instantiated from `HMAC<MD5>::HMAC<MD5>(const byte *, unsigned int)'
bench.cpp:92:   instantiated from here
hmac.h:46: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
hmac.h:46: warning:   for conversion from `SecByteBlock' to `const byte *'
hmac.h:46: warning:   because conversion sequence for `this' argument is better
lubyrack.h: In method `void LREncryption<MD5>::ProcessBlock<MD5>(const byte *, byte *)':
lubyrack.h:32:   instantiated from `LREncryption<MD5>::ProcessBlock<MD5>(byte *)'
hmac.h:46:   instantiated from here
lubyrack.h:67: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
lubyrack.h:67: warning:   for conversion from `SecByteBlock' to `const byte *'
lubyrack.h:67: warning:   because conversion sequence for `this' argument is better
lubyrack.h:32:   instantiated from `LREncryption<MD5>::ProcessBlock<MD5>(byte *)'
hmac.h:46:   instantiated from here
lubyrack.h:77: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
lubyrack.h:77: warning:   for conversion from `SecByteBlock' to `const byte *'
lubyrack.h:77: warning:   because conversion sequence for `this' argument is better
lubyrack.h:32:   instantiated from `LREncryption<MD5>::ProcessBlock<MD5>(byte *)'
hmac.h:46:   instantiated from here
lubyrack.h:78: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
lubyrack.h:78: warning:   for conversion from `SecByteBlock' to `const byte *'
lubyrack.h:78: warning:   because conversion sequence for `this' argument is better
lubyrack.h:32:   instantiated from `LREncryption<MD5>::ProcessBlock<MD5>(byte *)'
hmac.h:46:   instantiated from here
lubyrack.h:85: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
lubyrack.h:85: warning:   for conversion from `SecByteBlock' to `const byte *'
lubyrack.h:85: warning:   because conversion sequence for `this' argument is better
mdc.h: In method `void MDC<MD5>::ProcessBlock<MD5>(byte *)':
hmac.h:46:   instantiated from here
mdc.h:23: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
mdc.h:23: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
mdc.h:23: warning:   because conversion sequence for `this' argument is better
mdc.h: In method `void MDC<MD5>::ProcessBlock<MD5>(const byte *, byte *)':
hmac.h:46:   instantiated from here
mdc.h:30: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
mdc.h:30: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
mdc.h:30: warning:   because conversion sequence for `this' argument is better
hmac.h: In method `void HMAC<MD5>::Final<MD5>(byte *)':
hmac.h:46:   instantiated from here
hmac.h:60: warning: choosing `SecBlock<unsigned char>::operator byte *<byte>()' over `SecBlock<unsigned char>::operator const byte *<byte>() const'
hmac.h:60: warning:   for conversion from `SecByteBlock' to `const byte *'
hmac.h:60: warning:   because conversion sequence for `this' argument is better
xormac.h: In method `void XMACC<MD5>::HashBlock<MD5>(const word32 *)':
xormac.h:108:   instantiated from `XMACC<MD5>::Verify<MD5>(const byte *)'
hmac.h:46:   instantiated from here
xormac.h:70: warning: choosing `SecBlock<unsigned char>::operator void *<byte>()' over `SecBlock<unsigned char>::operator const void *<byte>() const'
xormac.h:70: warning:   for conversion from `SecByteBlock' to `const void *'
xormac.h:70: warning:   because conversion sequence for `this' argument is better
xormac.h:72: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:72: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:72: warning:   because conversion sequence for `this' argument is better
xormac.h:74: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:74: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:74: warning:   because conversion sequence for `this' argument is better
xormac.h:108:   instantiated from `XMACC<MD5>::Verify<MD5>(const byte *)'
hmac.h:46:   instantiated from here
xormac.h:75: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:75: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:75: warning:   because conversion sequence for `this' argument is better
xormac.h: In method `bool XMACC<MD5>::Verify<MD5>(const byte *)':
hmac.h:46:   instantiated from here
xormac.h:108: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:108: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:108: warning:   because conversion sequence for `this' argument is better
xormac.h:110: warning: choosing `SecBlock<unsigned char>::operator void *<byte>()' over `SecBlock<unsigned char>::operator const void *<byte>() const'
xormac.h:110: warning:   for conversion from `SecByteBlock' to `const void *'
xormac.h:110: warning:   because conversion sequence for `this' argument is better
xormac.h:114: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:114: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:114: warning:   because conversion sequence for `this' argument is better
xormac.h:115: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:115: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:115: warning:   because conversion sequence for `this' argument is better
xormac.h:116: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:116: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:116: warning:   because conversion sequence for `this' argument is better
xormac.h:117: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:117: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:117: warning:   because conversion sequence for `this' argument is better
xormac.h:119: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:119: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:119: warning:   because conversion sequence for `this' argument is better
xormac.h:120: warning: choosing `SecBlock<long unsigned int>::operator void *<word>()' over `SecBlock<long unsigned int>::operator const void *<word>() const'
xormac.h:120: warning:   for conversion from `SecBlock<long unsigned int>' to `const void *'
xormac.h:120: warning:   because conversion sequence for `this' argument is better
xormac.h: In method `void XMACC<MD5>::Final<MD5>(byte *)':
hmac.h:46:   instantiated from here
xormac.h:85: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:85: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:85: warning:   because conversion sequence for `this' argument is better
xormac.h:87: warning: choosing `SecBlock<unsigned char>::operator void *<byte>()' over `SecBlock<unsigned char>::operator const void *<byte>() const'
xormac.h:87: warning:   for conversion from `SecByteBlock' to `const void *'
xormac.h:87: warning:   because conversion sequence for `this' argument is better
xormac.h:91: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:91: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:91: warning:   because conversion sequence for `this' argument is better
xormac.h:92: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:92: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:92: warning:   because conversion sequence for `this' argument is better
xormac.h:93: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:93: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:93: warning:   because conversion sequence for `this' argument is better
xormac.h:94: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:94: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:94: warning:   because conversion sequence for `this' argument is better
xormac.h:97: warning: choosing `SecBlock<long unsigned int>::operator word *<word>()' over `SecBlock<long unsigned int>::operator const word *<word>() const'
xormac.h:97: warning:   for conversion from `SecBlock<long unsigned int>' to `const word32 *'
xormac.h:97: warning:   because conversion sequence for `this' argument is better
xormac.h:98: warning: choosing `SecBlock<long unsigned int>::operator void *<word>()' over `SecBlock<long unsigned int>::operator const void *<word>() const'
xormac.h:98: warning:   for conversion from `SecBlock<long unsigned int>' to `const void *'
xormac.h:98: warning:   because conversion sequence for `this' argument is better
make: *** [bench.o] Error 1

I am not sure if 2 are related or not. I can make a small test case
for second one.

Thanks.

H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]