This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/49152] Unhelpful diagnostic for iterator dereference


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49152

--- Comment #8 from Christopher Yeleighton <giecrilj at stegny dot 2a.pl> 2011-09-27 22:23:34 UTC ---
> I agree that this would be an improvement, even without clang's selective
> typedef unwrapping. But I have some doubts such a patch will be accepted. I was
> told in a couple of occasions that I cannot just remove the expression from the
> diagnostic and rely on the user to look up the source code location.

What follows is an expression regurgitated by g++ for your convenient perusal. 
You might want to show it to the person who expresses such strong opinions. 
Ask him gently to tell you what it means.

doit.cpp:290:129: error: no match for âoperator<<â in âstd::cout <<
boost::range::equal_range [with ForwardRange =
boost::range_detail::transform_range<boost::value_factory<ls::file_rec<char>::as_char0>,
std::vector<ls::file_rec<char> > >, Value = int, typename
boost::range_iterator<const ForwardRange>::type =
boost::transform_iterator<boost::value_factory<ls::file_rec<char>::as_char0>,
__gnu_cxx::__normal_iterator<ls::file_rec<char>*,
std::vector<ls::file_rec<char> > >, boost::use_default,
boost::use_default>]((*(const
boost::range_detail::transform_range<boost::value_factory<ls::file_rec<char>::as_char0>,
std::vector<ls::file_rec<char> > >*)(& boost::range_detail::operator| [with
InputRng = std::vector<ls::file_rec<char> >, UnaryFunction =
boost::value_factory<ls::file_rec<char>::as_char0>]((* & lv_fr), (*(const
boost::range_detail::transform_holder<boost::value_factory<ls::file_rec<char>::as_char0>
>*)(&
boost::adaptors::{anonymous}::transformed.boost::range_detail::forwarder<Holder>::operator()
[with T = boost::value_factory<ls::file_rec<char>::as_char0>, Holder =
boost::range_detail::transform_holder]((boost::value_factory<ls::file_rec<char>::as_char0>(),
boost::value_factory<ls::file_rec<char>::as_char0>()))))))), (*
&((int)a_n.std::basic_string<_CharT, _Traits, _Alloc>::operator[] [with _CharT
= char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>,
std::basic_string<_CharT, _Traits, _Alloc>::reference = char&,
std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned
int](0ul))))â


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]