This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the EGCS project.
Potential bug in STL
- To: gcc-bugs@gcc.gnu.org
- Subject: Potential bug in STL
- From: "Paul J. Lucas" <pjl@liquidaudio.com>
- Date: Fri, 30 Jul 1999 16:09:58 -0700 (PDT)
Given the attached .c file, I get the attached errors. I'm not
using a const int anywhere. This code worked in previous
versions of g++.
- Paul J. Lucas
Applications Engineer
Liquid Audio, Inc.
#include <algorithm>
#include <vector>
#include <map>
typedef map< int, int > result_type;
struct sort_by_rank {
bool operator()(
result_type::value_type const &a,
result_type::value_type const &b
) {
return a.second > b.second;
}
};
main() {
typedef vector< result_type::value_type > sorted_result_type;
sorted_result_type sorted;
::sort( sorted.begin(), sorted.end(), sort_by_rank() );
}
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_heap.h: In method `struct pair<const int,int> & pair<const int,int>::operator =(const pair<const int,int> &)':
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_heap.h:164: instantiated from `__adjust_heap<pair<const int,int> *, int, pair<const int,int>, sort_by_rank>(pair<const int,int> *, int, int, pair<const int,int>, sort_by_rank)'
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_heap.h:240: instantiated from `__make_heap<pair<const int,int> *, sort_by_rank, pair<const int,int>, ptrdiff_t>(pair<const int,int> *, pair<const int,int> *, sort_by_rank, pair<const int,int> *, ptrdiff_t *)'
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_heap.h:252: instantiated from `make_heap<pair<const int,int> *, sort_by_rank>(pair<const int,int> *, pair<const int,int> *, sort_by_rank)'
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_algo.h:1580: instantiated from `__partial_sort<pair<const int,int> *, pair<const int,int>, sort_by_rank>(pair<const int,int> *, pair<const int,int> *, pair<const int,int> *, pair<const int,int> *, sort_by_rank)'
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_algo.h:1592: instantiated from `partial_sort<pair<const int,int> *, sort_by_rank>(pair<const int,int> *, pair<const int,int> *, pair<const int,int> *, sort_by_rank)'
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_algo.h:1300: instantiated from `__introsort_loop<pair<const int,int> *, pair<const int,int>, int, sort_by_rank>(pair<const int,int> *, pair<const int,int> *, pair<const int,int> *, int, sort_by_rank)'
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_algo.h:1332: instantiated from here
/usr/local/packages/gcc-2.95/lib/gcc-lib/sparc-sun-solaris2.6/2.95/../../../../include/g++-3/stl_heap.h:164: non-static const member `const int pair<const int,int>::first', can't use default assignment operator
bug.ii.gz