This is a request for simplification of error messages, not a bug report. Consider the following incorrect program, which generates an error from inside the STL : -------------------------------------- #include <algorithm>
struct A {}; A a[10]; int main() { std::find(a, a+10, a[1]); return 0; } -------------------------------------- The error message is : -------------------------------------- /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h: In function '_RandomAccessIterator std::find(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, std::random_access_iterator_tag) [with _RandomAccessIterator = A*, _Tp = A]': /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:315: instantiated from '_InputIterator std::find(_InputIterator, _InputIterator, const _Tp&) [with _InputIterator = A*, _Tp = A]' long_error_message.C:7: instantiated from here /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:207: error: no match for 'operator==' in '* __first == __val' /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:211: error: no match for 'operator==' in '* __first == __val' /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:215: error: no match for 'operator==' in '* __first == __val' /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:219: error: no match for 'operator==' in '* __first == __val' /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:227: error: no match for 'operator==' in '* __first == __val' /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:231: error: no match for 'operator==' in '* __first == __val' /home/spion/GCC/Linux-4.0-2005-02-27/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_algo.h:235: error: no match for 'operator==' in '* __first == __val' ------------------------------------------- Notice the useless substring "lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../". So my request is : would it be possible to simplify these paths in disgnostic messages ? -- Summary: Long paths in error messages Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sylvain dot pion at sophia dot inria dot fr CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20347