Sat 22 Nov 2014 06:51:28 PM UTC, comment #8:
I changed the example in kron.cc to a column vector as well (http://hg.savannah.gnu.org/hgweb/octave/rev/718aaf1e84f7).
|
Sat 22 Nov 2014 01:28:35 PM UTC, comment #7:
Rik, I saw you transposing the 'dim_vector's. This either 1) doesn't change the meaning or 2) makes it correct (as jwe said, the old constructor did a column "dimensions" vector), but note that I merely followed the example of cset 1f4455ff2329 -- in other words, my fix was "by analogy". Right now, kron.cc still has
so you might want to change that, too.
|
Fri 21 Nov 2014 06:03:35 PM UTC, comment #6:
Yeah, I saw that too. It didn't seem to make a difference, i.e., 'make check' passed. But I agree it's probably a better idea to keep everything exactly the same. I'll swap them around.
|
Fri 21 Nov 2014 05:46:08 PM UTC, comment #5:
I haven't looked closely, so maybe it doesn't matter, but the changeset http://hg.savannah.gnu.org/hgweb/octave/rev/d47e50953abc replaces the Array<> (n) constructor with Array<> (dim_vector (1, n)), but the deprecated code that was removed had Array<> (n) : dimensions (n, 1) so it seems to me that the orientation has been switched.
|
Fri 21 Nov 2014 05:12:18 PM UTC, comment #4:
You found the problem. It is the alternate routines used when qrupdate isn't available that have the issue. I just added '--without-qrupdate' and I now get the same error.
I modified your commit message to reference the functions within each file that were changed and what was done to them, and then checked it in here (http://hg.savannah.gnu.org/hgweb/octave/rev/d47e50953abc).
Thanks for discovering and solving this bug. Closing report.
|
Fri 21 Nov 2014 11:03:00 AM UTC, comment #3:
By the way, here's how I configure Octave. Maybe the liboctave/numeric/*QR.cc are built only without 'qrupdate'?
|
Fri 21 Nov 2014 10:51:23 AM UTC, comment #2:
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'):
Changing these to
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.)
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)
|
Thu 20 Nov 2014 03:52:45 PM UTC, comment #1:
The cset 1f4455ff2329 fixed the building of the default branch. You might want to start over with
This might also be particular to Clang. Most of the developers are using gcc.
|
Thu 20 Nov 2014 02:26:56 PM UTC, original submission:
After the following commit,
source files including Array.h fail to be compiled. Here's an example output with Clang.
Resurrecting the two Array ctors marked GCC_ATTR_DEPRECATED fixes it (haven't checked which).
The revision is 19334:1213af866a89, plus my patches on top.
|