octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #43646] Build failure with Array.h after commi


From: Philipp Kutin
Subject: [Octave-bug-tracker] [bug #43646] Build failure with Array.h after commit 19326:5b263e517c95
Date: Fri, 21 Nov 2014 10:51:24 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0

Follow-up Comment #2, bug #43646 (project octave):

No, not for me. I have badly worded my initial report. What doesn't work is
not including Array.h per se, but attempts to construct an
Array<octave_idx_type> like these (where 'n' has type 'octave_idx_type'):


Array<octave_idx_type> p (n);


Changing these to


Array<octave_idx_type> p (dim_vector (1, n));


in the four remaining places
(liboctave/numeric/{CmpplxQR,dbleQR,fCmplxQR,floatQR}.cc) analogously to the
fix in libinterp/corefcn/kron.cc of cset 1f4455ff2329 makes everything build
again.

Here's an example error message from G++. (The first report was with Clang
simply because I wanted the colorful error message highlighting.)


../../liboctave/numeric/CmplxQR.cc: In function 'ComplexMatrix
shift_cols(const ComplexMatrix&, octave_idx_type, octave_idx_type)':
../../liboctave/numeric/CmplxQR.cc:552:30: error: no matching function for
call to 'Array<int>::Array(octave_idx_type&)'
   Array<octave_idx_type> p (n);
                              ^
../../liboctave/numeric/CmplxQR.cc:552:30: note: candidates are:
In file included from ../../liboctave/array/MArray.h:28:0,
                 from ../../liboctave/array/CMatrix.h:26,
                 from ../../liboctave/numeric/CmplxQR.h:29,
                 from ../../liboctave/numeric/CmplxQR.cc:29:
../../liboctave/array/Array.h:212:3: note: Array<T>::Array(const Array<T>&)
[with T = int]
   Array (const Array<T>& a)
   ^
../../liboctave/array/Array.h:212:3: note:   no known conversion for argument
1 from 'octave_idx_type {aka int}' to 'const Array<int>&'
../../liboctave/array/Array.h:205:3: note: template<class U>
Array<T>::Array(const Array<U>&)
   Array (const Array<U>& a)
   ^
../../liboctave/array/Array.h:205:3: note:   template argument
deduction/substitution failed:
../../liboctave/numeric/CmplxQR.cc:552:30: note:   mismatched types 'const
Array<T>' and 'octave_idx_type {aka int}'
   Array<octave_idx_type> p (n);
                              ^
In file included from ../../liboctave/array/MArray.h:28:0,
                 from ../../liboctave/array/CMatrix.h:26,
                 from ../../liboctave/numeric/CmplxQR.h:29,
                 from ../../liboctave/numeric/CmplxQR.cc:29:
../../liboctave/array/Array.h:201:3: note: Array<T>::Array(const Array<T>&,
const dim_vector&) [with T = int]
   Array (const Array<T>& a, const dim_vector& dv);
   ^
../../liboctave/array/Array.h:201:3: note:   candidate expects 2 arguments, 1
provided
../../liboctave/array/Array.h:191:12: note: Array<T>::Array(const dim_vector&,
const T&) [with T = int]
   explicit Array (const dim_vector& dv, const T& val)
            ^
../../liboctave/array/Array.h:191:12: note:   candidate expects 2 arguments, 1
provided
../../liboctave/array/Array.h:182:12: note: Array<T>::Array(const dim_vector&)
[with T = int]
   explicit Array (const dim_vector& dv)
            ^
../../liboctave/array/Array.h:182:12: note:   no known conversion for argument
1 from 'octave_idx_type {aka int}' to 'const dim_vector&'
../../liboctave/array/Array.h:174:3: note: Array<T>::Array() [with T = int]
   Array (void)
   ^
../../liboctave/array/Array.h:174:3: note:   candidate expects 0 arguments, 1
provided
../../liboctave/array/Array.h:166:3: note: Array<T>::Array(T*,
octave_idx_type, octave_idx_type*, void*) [with T = int; octave_idx_type =
int]
   Array (T *sdata, octave_idx_type slen, octave_idx_type *adims, void *arep)
   ^
../../liboctave/array/Array.h:166:3: note:   candidate expects 4 arguments, 1
provided
../../liboctave/array/Array.h:143:3: note: Array<T>::Array(const Array<T>&,
const dim_vector&, octave_idx_type, octave_idx_type) [with T = int;
octave_idx_type = int]
   Array (const Array<T>& a, const dim_vector& dv,
   ^
../../liboctave/array/Array.h:143:3: note:   candidate expects 4 arguments, 1
provided


A patch that fixes it for me is attached.

I didn't know about 'make maintainer-clean' and have previously used a simple
'make clean'. Thanks for the information.

(file #32495)
    _______________________________________________________

Additional Item Attachment:

File name: fix-compilation-QR-cc_bug43646.patch Size:1 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?43646>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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