c++/6281: gcc 3.0.3 internal error: expand_function_start, at function.c:6424
mailings@happie.com
mailings@happie.com
Fri Apr 12 13:16:00 GMT 2002
>Number: 6281
>Category: c++
>Synopsis: gcc 3.0.3 internal error: expand_function_start, at function.c:6424
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Apr 12 13:06:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: J Miller
>Release: gcc-3.0.3-solaris64
>Organization:
>Environment:
SunOS 5.8 Generic_108528-13 sun4u sparc SUNW,Sun-Fire
>Description:
Our g++ 3.0.3 appears to break on algorithms for sorting vectors of user defined classes that contain virtual destructors. This only happens for Solaris 64-bit in "-m64" mode.
hqpdt2:/tmp % g++ gcc-bug.cc
/ms/dist/fsf/PROJ/gcc/3.0.3/.exec/sun4m.sunos.5.8/include/g++-v3/bits/stl_algo.h: In
function `_RandomAccessIter std::__unguarded_partition(_RandomAccessIter,
_RandomAccessIter, _Tp) [with _RandomAccessIter =
std::__normal_iterator<OWLineOrderState*, std::vector<OWLineOrderState,
std::allocator<OWLineOrderState> > >, _Tp = OWLineOrderState]':
/ms/dist/fsf/PROJ/gcc/3.0.3/.exec/sun4m.sunos.5.8/include/g++-v3/bits/stl_algo.h:1634: instantiated from `void std::__introsort_loop(_RandomAccessIter, _RandomAccessIter, _Tp*, _Size) [with _RandomAccessIter = std::__normal_iterator<OWLineOrderState*, std::vector<OWLineOrderState, std::allocator<OWLineOrderState> > >, _Tp = OWLineOrderState, _Size = long int]'
/ms/dist/fsf/PROJ/gcc/3.0.3/.exec/sun4m.sunos.5.8/include/g++-v3/bits/stl_algo.h:1672: instantiated from `void std::sort(_RandomAccessIter, _RandomAccessIter) [with _RandomAccessIter = std::__normal_iterator<OWLineOrderState*, std::vector<OWLineOrderState, std::allocator<OWLineOrderState> > >]'
gcc-bug.cc:50: instantiated from here
/ms/dist/fsf/PROJ/gcc/3.0.3/.exec/sun4m.sunos.5.8/include/g++-v3/bits/stl_algo.h:1449: Internal
compiler error in expand_function_start, at function.c:6424
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
Reading specs from /ms/dist/fsf/PROJ/gcc/3.0.3/.exec/sun4m.sunos.5.8/bin/../lib/gcc-lib/sparcv9-sun-solaris2/3.0.3/specs
Configured with: configure --prefix=/u/bub/solaris/gcc/gcc64 sparcv9-sun-solaris2 : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/gcc64 sparcv9-sun-solaris2 : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/gcc64 sparcv9-sun-solaris2 -enable-64 : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/newgcc64 --enable-bits=64 sparcv9-sun-solaris2 : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/newgcc64 --enable-bits=64 sparcv9-sun-solaris2 : (reconfigured) ./configure --enable-64 sparcv9-sun-solaris2 : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/newgcc64 sparcv9-sun-solaris --enable-64 : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/gcc64 --with-local-prefix=/usr/include sparcv9-sun-solaris : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/gcc64 --with-local-prefix=/usr/include sparcv9-sun-solaris2 : (reconfigured) ./configure --with-local-prefix=/usr/include --prefix=/u/bub/local sparcv9-sun-solaris : (reconfigured) ./configure --prefix=/u/bub/gcclinux : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/gcc64 --enable-shared sparcv9-sun-solaris2 : (reconfigured) ./configure --prefix=/u/bub/solaris/gcc/gcc64 --disable-shared sparcv9-sun-solaris2
Thread model: posix
gcc version 3.0.3
>How-To-Repeat:
#include <vector>
using std::vector;
#include <algorithm>
using std::sort;
class OWLineOrderState
{
public:
OWLineOrderState();
virtual ~OWLineOrderState();
};
bool operator==(const OWLineOrderState& lhs_, const OWLineOrderState& rhs_);
bool operator<(const OWLineOrderState& lhs_, const OWLineOrderState& rhs_);
int main()
{
vector<OWLineOrderState> _workingOrderState;
_workingOrderState.push_back(OWLineOrderState());
sort(_workingOrderState.begin(), _workingOrderState.end());
return 0;
}
>Fix:
none known.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list