[iostreams] [RC_1_33_1] Currently broken on Tru64/CXX and Como 4.3.3

What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message: cxx -c -std strict_ansi -nopure_cname -noimplicit_include -timplicit_local -ptr "/house/schoepf/boost/regression/results/bin/boost/libs/iostreams/test/auto_close_test.test/tru64cxx71-006/debug/cxx_repository" -msg_display_number -msg_disable 186,450,1115 -DBOOST_IOSTREAMS_NO_LIB -g3 -O0 -inline none -version V7.1-006 -ieee -gall -D__CNAME_OVERLOADS -model ansi -I"/house/schoepf/boost/regression/results/bin/boost/libs/iostreams/test" -I"/house/schoepf/boost/regression/boost" -o "/house/schoepf/boost/regression/results/bin/boost/libs/iostreams/test/auto_close_test.test/tru64cxx71-006/debug/auto_close_test.o" "/house/schoepf/boost/regression/boost/libs/iostreams/test/auto_close_test.cpp" cxx: Error: /house/schoepf/boost/regression/boost/boost/iostreams/chain.hpp, line 427: #29 expected an expression { return chain_->component_type<N>(); } ---------------------------------------^ cxx: Error: /house/schoepf/boost/regression/boost/boost/iostreams/chain.hpp, line 431: #254 type name is not allowed { return chain_->component<T>(n); } -------------------------------^ cxx: Error: /house/schoepf/boost/regression/boost/boost/iostreams/chain.hpp, line 436: #254 type name is not allowed { return chain_->component<N, T>(); } ----------------------------------^ cxx: Error: /house/schoepf/boost/regression/boost/boost/iostreams/chain.hpp, line 436: #29 expected an expression { return chain_->component<N, T>(); } -------------------------------------^ cxx: Info: 4 errors detected in the compilation of "/house/schoepf/boost/regression/boost/libs/iostreams/test/auto_close_test.cpp". Does this ring a bell with anyone? Markus

Markus Schöpflin wrote:
What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message:
Does this ring a bell with anyone?
I'm looking into it now.
Markus
Jonathan

Markus Schöpflin wrote:
What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message:
I've committed a fix.
Markus
Jonathan

Jonathan Turkanis wrote:
Markus Schöpflin wrote:
What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message:
I've committed a fix.
Thanks a lot. Is this a comiler bug? Because I would like to submit it to the compiler vendor, if I can create a small reproducer. Markus

Markus Schöpflin wrote:
Jonathan Turkanis wrote:
Markus Schöpflin wrote:
What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message:
I've committed a fix.
Thanks a lot. Is this a comiler bug? Because I would like to submit it to the compiler vendor, if I can create a small reproducer.
As Thorsten pointed out, it's a two phase lookup thing, not a bug. I've committed a cleaner fix using BOOST_NESTED_TEMPLATE. If it doesn't work, I'll restore my first fix.
Markus
Jonathan

Jonathan Turkanis wrote:
Markus Schöpflin wrote:
Jonathan Turkanis wrote:
Markus Schöpflin wrote:
What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message:
I've committed a fix.
Thanks a lot. Is this a comiler bug? Because I would like to submit it to the compiler vendor, if I can create a small reproducer.
As Thorsten pointed out, it's a two phase lookup thing, not a bug.
I've committed a cleaner fix using BOOST_NESTED_TEMPLATE. If it doesn't work, I'll restore my first fix.
Just as a note, this fix seems to be missing from HEAD. It probably escaped merging from the 1.33 branch. Markus

Markus Schöpflin <markus.schoepflin <at> comsoft.de> writes:
What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message:
/house/schoepf/boost/regression/boost/boost/iostreams/chain.hpp, line 436: #29 expected an expression { return chain_->component<N, T>(); } -------------------------------------^ cxx: Info: 4 errors detected in the compilation of "/house/schoepf/boost/regression/boost/libs/iostreams/test/auto_close_test.cpp ".
Does this ring a bell with anyone?
Seems to me that it should be return chain-> template component<....>(); preferable with BOOST_NESTED_TEMPLATE instead of "template". br Thorsten

Thorsten Ottosen wrote:
Markus Schöpflin <markus.schoepflin <at> comsoft.de> writes:
What happened to the iostreams library? It worked fine for those compilers in 1.33.0 as can be seen on http://tinyurl.com/76dqz, but now most tests fail with the following error message:
/house/schoepf/boost/regression/boost/boost/iostreams/chain.hpp, line 436: #29 expected an expression { return chain_->component<N, T>(); } -------------------------------------^ cxx: Info: 4 errors detected in the compilation of
"/house/schoepf/boost/regression/boost/libs/iostreams/test/auto_close_test.cpp
".
Does this ring a bell with anyone?
Seems to me that it should be
return chain-> template component<....>();
preferable with BOOST_NESTED_TEMPLATE instead of "template".
Yeah, that's it.
br
Thorsten
Jonathan
participants (3)
-
Jonathan Turkanis
-
Markus Schöpflin
-
Thorsten Ottosen