Problem compiling VSIPL++ Matrix code

Rutledge, Edward rutledge at ll.mit.edu
Tue May 6 19:13:23 UTC 2008


Hi,
Using Sourcery VSIPL++ 1.4, I am trying to compile the following program but I get compile errors.  Looking at the VSIPL++ spec, I think this is a valid program.  Am I doing something wrong?

#include <vsip/matrix.hpp>
#include <vsip/initfin.hpp>

int main(void)
{
  vsip::vsipl prog();

  const vsip::Matrix<vsip::scalar_i> constM(2,2,99);
  vsip::scalar_i a = constM(0,0); // fails to compile

  vsip::Matrix<vsip::scalar_i> m(2,2);
  m = vsip::scalar_i(99); // fails to compile

  return 0;
}


The compiler reports the following errors:
% g++ -c Test.cc -I/tools/sourceryvsipl++/include
Test.cc: In function 'int main()':
Test.cc:9: error: passing 'const vsip::Matrix<int, vsip::Dense<2u, int, vsip::tuple<0u, 1u, 2u>, vsip::Local_map> >' as 'this' argument of 'typename vsip::impl::Lvalue_factory_type<Block>::type::reference_type vsip::Matrix<T, B>::operator()(vsip::index_type, vsip::index_type) [with T = int, Block = vsip::Dense<2u, int, vsip::tuple<0u, 1u, 2u>, vsip::Local_map>]' discards qualifiers
/tools/sourceryvsipl++/include/vsip/core/dispatch_assign.hpp: In function 'void vsip::impl::assign(DstBlock&, SrcBlock&) [with unsigned int D = 2u, DstBlock = vsip::Dense<2u, int, vsip::tuple<0u, 1u, 2u>, vsip::Local_map>, SrcBlock = vsip::impl::Scalar_block<2u, int>]':
/tools/sourceryvsipl++/include/vsip/matrix.hpp:259:   instantiated from 'vsip::Matrix<T, B>& vsip::Matrix<T, B>::operator=(typename vsip::impl::Lvalue_factory_type<Block>::type::const_reference_type) [with T = int, Block = vsip::Dense<2u, int, vsip::tuple<0u, 1u, 2u>, vsip::Local_map>]'
Test.cc:12:   instantiated from here
/tools/sourceryvsipl++/include/vsip/core/dispatch_assign.hpp:290: error: incomplete type 'vsip::impl::Dispatch_assign<2u, vsip::Dense<2u, int, vsip::tuple<0u, 1u, 2u>, vsip::Local_map>, vsip::impl::Scalar_block<2u, int>, vsip::impl::Tag_illegal_mix_of_local_and_global_in_assign>' used in nested name specifier


Thanks,
-Eddie

___________________________

Edward Rutledge
MIT Lincoln Laboratory
244 Wood St
Lexington, MA 02420
781-981-0274
rutledge at ll.mit.edu<mailto:rutledge at ll.mit.edu>
___________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20080506/6150b672/attachment.html>


More information about the vsipl++ mailing list