Hi,
On Mon, 30 Jun 2008, Andreas Svrcek-Seiler wrote:
> Sorry to say I can't do tests on "weird" systems.
> Anyway: everything including "make test" works
> with x86-64 linux and
> gcc (4.2.3)
> icc (10.1.017 *and* 11.0.025 beta
> - the latter of which is somewhat weird by itself)
>
> with gcc 4.3.1, which seem very strict with respect to c++-standards,
> I get the following errors:
>
> numvec.cpp:592: error: endl is not a member of std
> algorithm.cpp:102: error: cannot convert __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > to const char* for argument 1 to int remove(const char*)
> algorithm.cpp:178: error: strlen was not declared in this scope
> molecule.cpp:478: error: no match for operator<< in os << ((const std::vector<int, std::allocator<int> >*)v)->std::vector<_Tp, _Alloc>::operator[] [with _Tp = int, _Alloc = std::allocator<int>](((long unsigned int)i))
> atom.cpp:27: error: invalid use of incomplete type struct std::basic_istream<char, std::char_traits<char> >
> atom.cpp:34: error: no match for operator<< in stream << ".<TRIPOS>ATOM"
> atom.cpp:34: error: endl was not declared in this scope
> sect.cpp:19: error: incomplete type std::ios used in nested name specifier
> sect.cpp:19: error: expected `;' before pos
> sect.cpp:41: error: invalid use of incomplete type struct std::basic_istream<char, std::char_traits<char> >
> sect.cpp:41: error: pos was not declared in this scope
>
> ...all residing somewhere in the gleap/mort...-branch.
> I guess the colleague who wrote the sources could fix these
> quite quickly (?).
> Of course, this is not a pressing issue since gcc 4.3.x is probably not
> very common yet.
Most of these were due to missing header includes.
algorithm.cpp:102 may not have been, but probably was:
stdio's extern int remove (__const char *__filename)
is being chosen instead of algorithm's
remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
despite the use of three arguments.
I note that several of these .cpp files had no inclusion of any standard headers;
this is usually a sign that headers are being missed when following the
typical C++ approach of minimal includes via forward declarations
in .hpp files.
Scott
Received on Wed Jul 02 2008 - 06:07:26 PDT