g++ 2.97 20010103 strange bug w/blitz++

nbecker@fred.net nbecker@fred.net
Thu Jan 4 06:08:00 GMT 2001


/opt/gcc/bin/gcc -v
Reading specs from /opt/gcc/lib/gcc-lib/i686-pc-linux-gnu/2.97/specs
Configured with: ../../gcc/configure --prefix=/opt/gcc
gcc version 2.97 20010103 (experimental)

I can't understand this.  Look at the first error.  How can this be
ambiguous?

First of all, the first "candidate" is explicit.

Secondly, where is 
blitz::MemoryBlockReference<T_type>::MemoryBlockReference(unsigned int = 0)?  I don't see
a default argument.

 /opt/gcc/bin/g++ -I./.. -ftemplate-depth-30 -g -DBZ_DEBUG -c ./qcd.cpp -save-temps
../blitz/vector.h: In constructor `blitz::Vector<P_numtype>::Vector() [with 
   P_numtype = const char*]':
../blitz/benchext.cc:38:   instantiated from `blitz::BenchmarkExt<P_parameter>::BenchmarkExt(const char*, int) [with P_parameter = int]'
qcd.cpp:31:   instantiated from here
../blitz/vector.h:115: call of overloaded `MemoryBlockReference()' is ambiguous
../blitz/memblock.h:298: candidates are: 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference(unsigned int = 0) 
   [with P_type = const char*]
../blitz/memblock.h:252:                 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference() [with P_type = 
   const char*]
../blitz/matrix.h: In constructor `blitz::Matrix<P_numtype, 
   P_structure>::Matrix() [with P_numtype = double, P_structure = 
   blitz::RowMajor]':
../blitz/benchext.cc:38:   instantiated from `blitz::BenchmarkExt<P_parameter>::BenchmarkExt(const char*, int) [with P_parameter = int]'
qcd.cpp:31:   instantiated from here
../blitz/matrix.h:97: call of overloaded `MemoryBlockReference()' is ambiguous
../blitz/memblock.h:298: candidates are: 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference(unsigned int = 0) 
   [with P_type = double]
../blitz/memblock.h:252:                 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference() [with P_type = 
   double]
../blitz/vector.h: In constructor `blitz::Vector<P_numtype>::Vector() [with 
   P_numtype = int]':
../blitz/benchext.cc:38:   instantiated from `blitz::BenchmarkExt<P_parameter>::BenchmarkExt(const char*, int) [with P_parameter = int]'
qcd.cpp:31:   instantiated from here
../blitz/vector.h:115: call of overloaded `MemoryBlockReference()' is ambiguous
../blitz/memblock.h:298: candidates are: 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference(unsigned int = 0) 
   [with P_type = int]
../blitz/memblock.h:252:                 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference() [with P_type = 
   int]
../blitz/vector.h: In constructor `blitz::Vector<P_numtype>::Vector() [with 
   P_numtype = long int]':
../blitz/benchext.cc:38:   instantiated from `blitz::BenchmarkExt<P_parameter>::BenchmarkExt(const char*, int) [with P_parameter = int]'
qcd.cpp:31:   instantiated from here
../blitz/vector.h:115: call of overloaded `MemoryBlockReference()' is ambiguous
../blitz/memblock.h:298: candidates are: 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference(unsigned int = 0) 
   [with P_type = long int]
../blitz/memblock.h:252:                 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference() [with P_type = 
   long int]
../blitz/vector.h: In constructor `blitz::Vector<P_numtype>::Vector() [with 
   P_numtype = double]':
../blitz/benchext.cc:38:   instantiated from `blitz::BenchmarkExt<P_parameter>::BenchmarkExt(const char*, int) [with P_parameter = int]'
qcd.cpp:31:   instantiated from here
../blitz/vector.h:115: call of overloaded `MemoryBlockReference()' is ambiguous
../blitz/memblock.h:298: candidates are: 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference(unsigned int = 0) 
   [with P_type = double]
../blitz/memblock.h:252:                 
   blitz::MemoryBlockReference<T_type>::MemoryBlockReference() [with P_type = 
   double]
../blitz/memblock.h: In constructor 
   `blitz::NullMemoryBlock<P_type>::NullMemoryBlock() [with P_type = int 
   QCDBlitzVersion(blitz::BenchmarkExt<int>&)::spinor]':
../blitz/memblock.cc:38:   instantiated from here
../blitz/memblock.h:226: call of overloaded `MemoryBlock()' is ambiguous
../blitz/memblock.h:106: candidates are: 
   blitz::MemoryBlock<P_type>::MemoryBlock(unsigned int = 0) [with P_type = int 
   QCDBlitzVersion(blitz::BenchmarkExt<int>&)::spinor]
../blitz/memblock.h:98:                 
   blitz::MemoryBlock<P_type>::MemoryBlock() [with P_type = int 
   QCDBlitzVersion(blitz::BenchmarkExt<int>&)::spinor]
../blitz/memblock.h: In constructor 
   `blitz::NullMemoryBlock<P_type>::NullMemoryBlock() [with P_type = int 
   QCDBlitzVersion(blitz::BenchmarkExt<int>&)::SU3Gauge]':
../blitz/memblock.cc:38:   instantiated from here
../blitz/memblock.h:226: call of overloaded `MemoryBlock()' is ambiguous
../blitz/memblock.h:106: candidates are: 
   blitz::MemoryBlock<P_type>::MemoryBlock(unsigned int = 0) [with P_type = int 
   QCDBlitzVersion(blitz::BenchmarkExt<int>&)::SU3Gauge]
../blitz/memblock.h:98:                 
   blitz::MemoryBlock<P_type>::MemoryBlock() [with P_type = int 
   QCDBlitzVersion(blitz::BenchmarkExt<int>&)::SU3Gauge]
../blitz/memblock.h: In constructor 
   `blitz::NullMemoryBlock<P_type>::NullMemoryBlock() [with P_type = 
   latticeUnit]':
../blitz/memblock.cc:38:   instantiated from here
../blitz/memblock.h:226: call of overloaded `MemoryBlock()' is ambiguous
../blitz/memblock.h:106: candidates are: 
   blitz::MemoryBlock<P_type>::MemoryBlock(unsigned int = 0) [with P_type = 
   latticeUnit]
../blitz/memblock.h:98:                 
   blitz::MemoryBlock<P_type>::MemoryBlock() [with P_type = latticeUnit]
../blitz/memblock.h: In constructor 
   `blitz::NullMemoryBlock<P_type>::NullMemoryBlock() [with P_type = const 
   char*]':
../blitz/memblock.cc:38:   instantiated from here
../blitz/memblock.h:226: call of overloaded `MemoryBlock()' is ambiguous
../blitz/memblock.h:106: candidates are: 
   blitz::MemoryBlock<P_type>::MemoryBlock(unsigned int = 0) [with P_type = 
   const char*]
../blitz/memblock.h:98:                 
   blitz::MemoryBlock<P_type>::MemoryBlock() [with P_type = const char*]
../blitz/memblock.h: In constructor 
   `blitz::NullMemoryBlock<P_type>::NullMemoryBlock() [with P_type = double]':
../blitz/memblock.cc:38:   instantiated from here
../blitz/memblock.h:226: call of overloaded `MemoryBlock()' is ambiguous
../blitz/memblock.h:106: candidates are: 
   blitz::MemoryBlock<P_type>::MemoryBlock(unsigned int = 0) [with P_type = 
   double]
../blitz/memblock.h:98:                 
   blitz::MemoryBlock<P_type>::MemoryBlock() [with P_type = double]
../blitz/memblock.h: In constructor 
   `blitz::NullMemoryBlock<P_type>::NullMemoryBlock() [with P_type = int]':
../blitz/memblock.cc:38:   instantiated from here
../blitz/memblock.h:226: call of overloaded `MemoryBlock()' is ambiguous
../blitz/memblock.h:106: candidates are: 
   blitz::MemoryBlock<P_type>::MemoryBlock(unsigned int = 0) [with P_type = 
   int]
../blitz/memblock.h:98:                 
   blitz::MemoryBlock<P_type>::MemoryBlock() [with P_type = int]
../blitz/memblock.h: In constructor 
   `blitz::NullMemoryBlock<P_type>::NullMemoryBlock() [with P_type = long 
   int]':
../blitz/memblock.cc:38:   instantiated from here
../blitz/memblock.h:226: call of overloaded `MemoryBlock()' is ambiguous
../blitz/memblock.h:106: candidates are: 
   blitz::MemoryBlock<P_type>::MemoryBlock(unsigned int = 0) [with P_type = 
   long int]
../blitz/memblock.h:98:                 
   blitz::MemoryBlock<P_type>::MemoryBlock() [with P_type = long int]

-------------- next part --------------
A non-text attachment was scrubbed...
Name: qcd.ii.bz2
Type: application/x-bzip2
Size: 110482 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20010104/b90d4ad9/attachment.bz2>


More information about the Gcc-bugs mailing list