c++.stlsoft - Problem with fixed_array copy constructor (gcc-3.4.6)
- Neal Becker <ndbecker2 gmail.com> Jan 22 2007
- "Matthew Wilson" <matthew hat.stlsoft.dot.org> Jan 22 2007
- Neal Becker <ndbecker2 gmail.com> Jan 22 2007
- "Matthew Wilson" <matthew hat.stlsoft.dot.org> Jan 23 2007
- Neal Becker <ndbecker2 gmail.com> Jan 23 2007
- "Matthew Wilson" <matthew hat.stlsoft.dot.org> Jan 23 2007
- Matthew Wilson <no-one nowhere.nohow> Jan 22 2007
- "Matthew Wilson" <matthew hat.stlsoft.dot.org> Jan 23 2007
- Neal Becker <ndbecker2 gmail.com> Jan 23 2007
- "Matthew Wilson" <matthew hat.stlsoft.dot.org> Jan 23 2007
My code compiles fine with gcc-4.1.1, but chokes on gcc-3.4.6. I'm not sure
what's going on here:
/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp: In copy
constructor `stlsoft::fixed_array_3d<T, A, P, R>::fixed_array_3d(const
stlsoft::fixed_array_3d<T, A, P, R>&) [with T = double, A =
std::allocator<double>, P = stlsoft::do_construction<double>, bool R = false]':
/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1838:
instantiated from `typename stlsoft::fixed_array_4d<T, A, P,
R>::dimension_element_type stlsoft::fixed_array_4d<T, A, P,
R>::operator[](stlsoft::ss_size_t) [with T = double, A =
std::allocator<double>, P = stlsoft::do_construction<double>, bool R = true]'
idma/turbo_dec_1_10_2.H:387:
instantiated from `void turbo_dec_1_10<flt_t>::compute_gamma(const
apriori_t&, const rec_enc_parity_t&, const rec_tail_t&, gamma_t&, gamma2_t&)
[with apriori_t = stlsoft::fixed_array_1d<double, std::allocator<double>,
stlsoft::do_initialisation_never, true>, rec_enc_parity_t =
stlsoft::fixed_array_2d<double, std::allocator<double>,
stlsoft::do_construction<double>, false>, rec_tail_t =
stlsoft::fixed_array_1d<double, std::allocator<double>,
stlsoft::do_construction<double>, false>, gamma_t =
stlsoft::fixed_array_3d<double, std::allocator<double>,
stlsoft::do_construction<double>, true>, gamma2_t =
stlsoft::fixed_array_4d<double, std::allocator<double>,
stlsoft::do_construction<double>, true>, flt_t = double]'
idma/turbo_dec_1_10_2.H:342:
instantiated from `void turbo_dec_1_10<flt_t>::turbo_constituent_dec(const
apriori_t&, const rec_enc_parity_t&, const rec_tail_t&, info_extrinsic_t&,
parity_extrinsic_t&, tail_extrinsic_t&) [with apriori_t =
stlsoft::fixed_array_1d<double, std::allocator<double>,
stlsoft::do_initialisation_never, true>, rec_enc_parity_t =
stlsoft::fixed_array_2d<double, std::allocator<double>,
stlsoft::do_construction<double>, false>, rec_tail_t =
stlsoft::fixed_array_1d<double, std::allocator<double>,
stlsoft::do_construction<double>, false>, info_extrinsic_t =
stlsoft::fixed_array_1d<double, std::allocator<double>,
stlsoft::do_construction<double>, true>, parity_extrinsic_t =
stlsoft::fixed_array_2d<double, std::allocator<double>,
stlsoft::do_construction<double>, false>, tail_extrinsic_t =
stlsoft::fixed_array_1d<double, std::allocator<double>,
stlsoft::do_construction<double>, false>, flt_t = double]'
idma/turbo_dec_1_10_2.H:250:
instantiated from `void turbo_dec_1_10<flt_t>::iter(const in_t&, flt_t)
[with in_t = boost::numeric::ublas::vector<double,
boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >,
flt_t = double]'
idma/turbo_dec_1_10.cc:192:
instantiated from here
/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1441: error:
creating array with size zero (`0')
The line that triggered the error:
gamma2[0][k][m][0] = gamma[k][m][1];
I'm sorry, but I can't post the source for this. Perhaps someone has
encountered a similar problem?
Jan 22 2007
"Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep3233$11ba$1 digitaldaemon.com...My code compiles fine with gcc-4.1.1, but chokes on gcc-3.4.6. I'm not
/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp: In copy
stlsoft::fixed_array_3d<T, A, P, R>&) [with T = double, A = std::allocator<double>, P = stlsoft::do_construction<double>, bool R = false]':/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1838: instantiated from `typename stlsoft::fixed_array_4d<T, A, P,
R>::operator[](stlsoft::ss_size_t) [with T = double, A = std::allocator<double>, P = stlsoft::do_construction<double>, bool R = true]'idma/turbo_dec_1_10_2.H:387: instantiated from `void turbo_dec_1_10<flt_t>::compute_gamma(const
[with apriori_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_initialisation_never, true>, rec_enc_parity_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, rec_tail_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, gamma_t = stlsoft::fixed_array_3d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, gamma2_t = stlsoft::fixed_array_4d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, flt_t = double]'idma/turbo_dec_1_10_2.H:342: instantiated from `void
rec_enc_parity_t&, const rec_tail_t&, info_extrinsic_t&, parity_extrinsic_t&, tail_extrinsic_t&) [with apriori_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_initialisation_never, true>, rec_enc_parity_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, rec_tail_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, info_extrinsic_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, parity_extrinsic_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, tail_extrinsic_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, flt_t = double]'idma/turbo_dec_1_10_2.H:250: instantiated from `void turbo_dec_1_10<flt_t>::iter(const in_t&, flt_t)
boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >, flt_t = double]'idma/turbo_dec_1_10.cc:192: instantiated from here /usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1441:
The line that triggered the error: gamma2[0][k][m][0] = gamma[k][m][1]; I'm sorry, but I can't post the source for this. Perhaps someone has
It's a bit hard to tell from the report. Can you post a chopped down version, or a little sample that brings out the same bug? btw, did the fe.N mods fix your 64-bit build problem? If so, I'll try and get a new Pantheios release out asap. Cheers Matthew
Jan 22 2007
Matthew Wilson wrote:btw, did the fe.N mods fix your 64-bit build problem? If so, I'll try and get a new Pantheios release out asap.
Looks like it gets further. Now stops here: g++ -c -Wall -pedantic -Wno-long-long -Wno-unused-value -Werror -O1 -D_REENTRANT -D_DEBUG -UNDEBUG -Dunix -I../../include -I"/usr/local/src/stlsoft/include" -o test_api.debug.o ../../test/test_api/test_api.cpp ../../test/test_api/test_api.cpp: In function ‘stlsoft::basic_shim_string<char, 64ul, false, std::allocator<char>, stlsoft::stlsoft_char_traits<char> > stlsoft::c_str_data_a(const Thingy&)’: ../../test/test_api/test_api.cpp:142: error: cast from ‘const Thingy*’ to ‘unsigned int’ loses precision ../../test/test_api/test_api.cpp: In function ‘std::string Thingy_to_string(const Thingy*)’: ../../test/test_api/test_api.cpp:168: error: cast from ‘const Thingy**’ to ‘unsigned int’ loses precision make: *** [test_api.debug.o] Error 1
Jan 22 2007
"Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep3iho$1mp7$1 digitaldaemon.com...Matthew Wilson wrote:btw, did the fe.N mods fix your 64-bit build problem? If so, I'll try
get a new Pantheios release out asap.
Looks like it gets further. Now stops here:
ENTRANT -D_DEBUG -UNDEBUG -Dunix -I../../include -I"/usr/local/src/stlsof t/include" -o test_api.debug.o ../../test/test_api/test_api.cpp../../test/test_api/test_api.cpp: In function
stlsoft::stlsoft_char_traits<char> > stlsoft::c_str_data_a(const Thingy&)':../../test/test_api/test_api.cpp:142: error: cast from 'const Thingy*' to
../../test/test_api/test_api.cpp: In function 'std::string
../../test/test_api/test_api.cpp:168: error: cast from 'const Thingy**' to
make: *** [test_api.debug.o] Error 1
Well, the good news is that we seem to be out of the libraries, and into the test programs (about which I'm less bothered). I'll check into it. A favour, if I may. Could you execute the following build targets on your 64-bit system: "make -f makefile.unix build.libs.core" "make -f makefile.unix build.libs.fe" "make -f makefile.unix build.libs.be" "make -f makefile.unix build.examples" and let me know which, if any, have any problems. Thanks Matthew
Jan 23 2007
Matthew Wilson wrote:"Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep3iho$1mp7$1 digitaldaemon.com...Matthew Wilson wrote:btw, did the fe.N mods fix your 64-bit build problem? If so, I'll try
get a new Pantheios release out asap.
Looks like it gets further. Now stops here:
-D_RE ENTRANT -D_DEBUG -UNDEBUG -Dunix -I../../include -I"/usr/local/src/stlsof t/include" -o test_api.debug.o ../../test/test_api/test_api.cpp../../test/test_api/test_api.cpp: In function
stlsoft::stlsoft_char_traits<char> > stlsoft::c_str_data_a(const Thingy&)':../../test/test_api/test_api.cpp:142: error: cast from 'const Thingy*' to
../../test/test_api/test_api.cpp: In function 'std::string
../../test/test_api/test_api.cpp:168: error: cast from 'const Thingy**' to
make: *** [test_api.debug.o] Error 1
Well, the good news is that we seem to be out of the libraries, and into the test programs (about which I'm less bothered). I'll check into it. A favour, if I may. Could you execute the following build targets on your 64-bit system: "make -f makefile.unix build.libs.core" "make -f makefile.unix build.libs.fe" "make -f makefile.unix build.libs.be" "make -f makefile.unix build.examples" and let me know which, if any, have any problems.
No problems.
Jan 23 2007
"Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep4v24$e9v$1 digitaldaemon.com...Matthew Wilson wrote:"Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep3iho$1mp7$1 digitaldaemon.com...Matthew Wilson wrote:btw, did the fe.N mods fix your 64-bit build problem? If so, I'll try
get a new Pantheios release out asap.
Looks like it gets further. Now stops here:
-D_RE ENTRANT -D_DEBUG -UNDEBUG -Dunix -I../../include -I"/usr/local/src/stlsof t/include" -o test_api.debug.o ../../test/test_api/test_api.cpp../../test/test_api/test_api.cpp: In function
stlsoft::stlsoft_char_traits<char> > stlsoft::c_str_data_a(const Thingy&)':../../test/test_api/test_api.cpp:142: error: cast from 'const Thingy*'
'unsigned int' loses precision../../test/test_api/test_api.cpp: In function 'std::string
../../test/test_api/test_api.cpp:168: error: cast from 'const Thingy**' to
make: *** [test_api.debug.o] Error 1
Well, the good news is that we seem to be out of the libraries, and into the test programs (about which I'm less bothered). I'll check into it. A favour, if I may. Could you execute the following build targets on
64-bit system: "make -f makefile.unix build.libs.core" "make -f makefile.unix build.libs.fe" "make -f makefile.unix build.libs.be" "make -f makefile.unix build.examples" and let me know which, if any, have any problems.
No problems.
Cool. Thanks
Jan 23 2007
The line that triggered the error: gamma2[0][k][m][0] = gamma[k][m][1]; I'm sorry, but I can't post the source for this. Perhaps someone has encountered a similar problem?
I'm trying to have a go at this, but without knowing what gamma and gamm2 are, it's pretty near impossible. Can you tell me how they're defined? Thanks Matthew
Jan 22 2007
Try this patch. No guarantees ... ;-) If it works, I'll release a beta 44. Cheers Matthew "Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep3233$11ba$1 digitaldaemon.com...My code compiles fine with gcc-4.1.1, but chokes on gcc-3.4.6. I'm not
/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp: In copy
stlsoft::fixed_array_3d<T, A, P, R>&) [with T = double, A = std::allocator<double>, P = stlsoft::do_construction<double>, bool R = false]':/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1838: instantiated from `typename stlsoft::fixed_array_4d<T, A, P,
R>::operator[](stlsoft::ss_size_t) [with T = double, A = std::allocator<double>, P = stlsoft::do_construction<double>, bool R = true]'idma/turbo_dec_1_10_2.H:387: instantiated from `void turbo_dec_1_10<flt_t>::compute_gamma(const
[with apriori_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_initialisation_never, true>, rec_enc_parity_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, rec_tail_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, gamma_t = stlsoft::fixed_array_3d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, gamma2_t = stlsoft::fixed_array_4d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, flt_t = double]'idma/turbo_dec_1_10_2.H:342: instantiated from `void
rec_enc_parity_t&, const rec_tail_t&, info_extrinsic_t&, parity_extrinsic_t&, tail_extrinsic_t&) [with apriori_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_initialisation_never, true>, rec_enc_parity_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, rec_tail_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, info_extrinsic_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, parity_extrinsic_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, tail_extrinsic_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, flt_t = double]'idma/turbo_dec_1_10_2.H:250: instantiated from `void turbo_dec_1_10<flt_t>::iter(const in_t&, flt_t)
boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >, flt_t = double]'idma/turbo_dec_1_10.cc:192: instantiated from here /usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1441:
The line that triggered the error: gamma2[0][k][m][0] = gamma[k][m][1]; I'm sorry, but I can't post the source for this. Perhaps someone has
Jan 23 2007
Matthew Wilson wrote:Try this patch. No guarantees ... ;-) If it works, I'll release a beta 44.
Yes, it seems to compile now (at least). In response to your other question, stlsoft::fixed_array_3d<flt_t> gamma (MSG_BITS + CONST_LEN, DEC_STATES, 2); stlsoft::fixed_array_4d<flt_t> gamma2 (E, MSG_BITS + CONST_LEN, DEC_STATES, 2);Cheers Matthew "Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep3233$11ba$1 digitaldaemon.com...My code compiles fine with gcc-4.1.1, but chokes on gcc-3.4.6. I'm not
/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp: In copy
stlsoft::fixed_array_3d<T, A, P, R>&) [with T = double, A = std::allocator<double>, P = stlsoft::do_construction<double>, bool R = false]':/usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1838: instantiated from `typename stlsoft::fixed_array_4d<T, A, P,
R>::operator[](stlsoft::ss_size_t) [with T = double, A = std::allocator<double>, P = stlsoft::do_construction<double>, bool R = true]'idma/turbo_dec_1_10_2.H:387: instantiated from `void turbo_dec_1_10<flt_t>::compute_gamma(const
gamma2_t&) [with apriori_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_initialisation_never, true>, rec_enc_parity_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, rec_tail_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, gamma_t = stlsoft::fixed_array_3d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, gamma2_t = stlsoft::fixed_array_4d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, flt_t = double]'idma/turbo_dec_1_10_2.H:342: instantiated from `void
rec_enc_parity_t&, const rec_tail_t&, info_extrinsic_t&, parity_extrinsic_t&, tail_extrinsic_t&) [with apriori_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_initialisation_never, true>, rec_enc_parity_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, rec_tail_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, info_extrinsic_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, true>, parity_extrinsic_t = stlsoft::fixed_array_2d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, tail_extrinsic_t = stlsoft::fixed_array_1d<double, std::allocator<double>, stlsoft::do_construction<double>, false>, flt_t = double]'idma/turbo_dec_1_10_2.H:250: instantiated from `void turbo_dec_1_10<flt_t>::iter(const in_t&, flt_t)
boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >, flt_t = double]'idma/turbo_dec_1_10.cc:192: instantiated from here /usr/local/src/stlsoft/include/stlsoft/containers/fixed_array.hpp:1441:
The line that triggered the error: gamma2[0][k][m][0] = gamma[k][m][1]; I'm sorry, but I can't post the source for this. Perhaps someone has
Jan 23 2007
"Neal Becker" <ndbecker2 gmail.com> wrote in message news:ep4vdu$end$1 digitaldaemon.com...Matthew Wilson wrote:Try this patch. No guarantees ... ;-) If it works, I'll release a beta 44.
Yes, it seems to compile now (at least).
Good. Don't forget to let me know if it run. :-)
Jan 23 2007









"Matthew Wilson" <matthew hat.stlsoft.dot.org> 