Warnings with gcc 3.3
Leopold Palomo Avellaneda <[email protected]> Wed, 14 Jan 2004 12:40:47 +0100
| Newsgroups | gmane.comp.lib.mtl.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, I have tried to compile itl-4.0.0-1 in a Debian Sarge with g++-3.3. I have found some problems. First of the package not compile, but with the patch: http://www.osl.iu.edu/MailArchives/mtl-devel/msg00493.php compile with some warnings: .... g++ -DHAVE_CONFIG_H -I. -I/usr/include -I.. -ftemplate-depth-30 -Wall -g -c ilut_cgs.cpp In file included from ilut_cgs.cpp:70: ../itl/preconditioner/ilut.h: In member function `void itl::ILUT<Matrix>::do_ilut(const Matrix&, mtl::row_tag)': ../itl/preconditioner/ilut.h:185: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:185: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:186: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:186: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:215: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:215: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:216: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:216: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:265: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:265: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:278: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:278: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:285: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:285: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:301: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:301: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:309: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:309: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h: In member function `void itl::ILUT<Matrix>::do_ilut(Matrix, mtl::column_tag)': ../itl/preconditioner/ilut.h:371: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:371: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:372: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:372: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:401: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:401: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:402: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:402: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:451: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:451: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:464: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:464: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:471: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:471: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:487: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:487: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:495: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:495: warning: implicit typename is deprecated, please see the documentation for details g++ -ftemplate-depth-30 -Wall -g -o ilut_cgs ilut_cgs.o iohb.o -lm g++ -DHAVE_CONFIG_H -I. -I/usr/include -I.. -ftemplate-depth-30 -Wall -g -c ilut_gcr.cpp In file included from ilut_gcr.cpp:70: ../itl/preconditioner/ilut.h: In member function `void itl::ILUT<Matrix>::do_ilut(const Matrix&, mtl::row_tag)': ../itl/preconditioner/ilut.h:185: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:185: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:186: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:186: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:215: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:215: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:216: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:216: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:265: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:265: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:278: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:278: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:285: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:285: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:301: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:301: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:309: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:309: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h: In member function `void itl::ILUT<Matrix>::do_ilut(Matrix, mtl::column_tag)': ../itl/preconditioner/ilut.h:371: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:371: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:372: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:372: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:401: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:401: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:402: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:402: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:451: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:451: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:464: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:464: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:471: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:471: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:487: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:487: warning: implicit typename is deprecated, please see the documentation for details ../itl/preconditioner/ilut.h:495: warning: `std::vector<mtl::entry1<typename Matrix::value_type>, std::allocator<mtl::entry1<typename Matrix::value_type> > >::iterator' is implicitly a typename ../itl/preconditioner/ilut.h:495: warning: implicit typename is deprecated, please see the documentation for details I have found some information about that: http://gcc.gnu.org/ml/gcc-bugs/2003-07/msg00317.html and the resolved bug: .... This is not a bug, but warns you correctly of invalid code: if you use identifiers such as "nested" in the derived class, then they are implicitly typenames of the form typename base<T>::nested The point is that the standard prescribes that names from template dependent base classes are not visible during lookup, so your code is invalid and will not even compile with gcc3.4. You really need to write typename base<T>::nested instead. Also, I havefound that ITL examples (Laplacian in concrete) doesn't compile with g++-3.3 because of a compiler error: make[1]: Entering directory `/home/lepalom/tmp/itl-4.0.0-1/examples' Making all in laplacian make[2]: Entering directory `/home/lepalom/tmp/itl-4.0.0-1/examples/laplacian' g++ -DHAVE_CONFIG_H -I/usr/include -I../.. -ftemplate-depth-30 -Wall -g -c bicgstab.cpp laplacian.h: In function `void generate_laplacian_2D(Matrix&, int, int) [with Matrix = Matrix]': bicgstab.cpp:116: instantiated from here laplacian.h:71: internal compiler error: Violació de segment Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make[2]: *** [bicgstab.o] Error 1 make[2]: Leaving directory `/home/lepalom/tmp/itl-4.0.0-1/examples/laplacian' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/lepalom/tmp/itl-4.0.0-1/examples' make: *** [all-recursive] Error 1 I have open the bug. Maybe it could help. Best regards, Leo _______________________________________________ This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/