This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/52660] New: internal compiler error: in cxx_expand_expr, at cp/expr.c:114
- From: "shang_tao_123 at 163 dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 22 Mar 2012 01:53:17 +0000
- Subject: [Bug c++/52660] New: internal compiler error: in cxx_expand_expr, at cp/expr.c:114
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52660
Bug #: 52660
Summary: internal compiler error: in cxx_expand_expr, at
cp/expr.c:114
Classification: Unclassified
Product: gcc
Version: 3.4.5
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: shang_tao_123@163.com
The output of gcc -v -save-temps options source-file is:
Reading specs from /usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/specs
Configured with: ../EISC_gcc-3.4.5/configure --target=ae32000-elf
--prefix=/usr/local --enable-languages=c,c++ --with-gnu-as --with-gnu-ld
--with-headers=/home/kkh/src/ae32000_v265/newlib-1.14.0/newlib/libc/include
--with-newlib --enable-shared
Thread model: single
gcc version 3.4.5 (AE32000 Compiler v2.6.5 | binutils-2.14 | gdb_insight-6.8)
(LDI Code motion / Seperated GCCLIB / mulsi3 / Mem index
/ Floating-point optimized again / Double precision BUG Fixed)
/usr/local-ae32000/bin/../libexec/gcc/ae32000-elf/3.4.5/cc1plus.exe -E -quiet
-v -I../../header/include -iprefix
/usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/ -MMD obj/rwflash.d
-MFobj/rwflash.d -MP -MTobj/rwflash.d -MQ obj/rwflash.o rwflash.cpp -Wextra
-Wall -fmessage-length=0 -o rwflash.ii
ignoring nonexistent directory "/usr/local/include/c++/3.4.5"
ignoring nonexistent directory "/usr/local/include/c++/3.4.5/ae32000-elf"
ignoring nonexistent directory "/usr/local/include/c++/3.4.5/backward"
ignoring nonexistent directory "/usr/local/lib/gcc/ae32000-elf/3.4.5/include"
ignoring nonexistent directory "/usr/local/ae32000-elf/sys-include"
ignoring nonexistent directory "/usr/local/ae32000-elf/include"
#include "..." search starts here:
#include <...> search starts here:
../../header/include
/usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/../../../../include/c++/3.4.5
/usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/../../../../include/c++/3.4.5/ae32000-elf
/usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/../../../../include/c++/3.4.5/backward
/usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/include
/usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/../../../../ae32000-elf/sys-include
/usr/local-ae32000/bin/../lib/gcc/ae32000-elf/3.4.5/../../../../ae32000-elf/include
End of search list.
/usr/local-ae32000/bin/../libexec/gcc/ae32000-elf/3.4.5/cc1plus.exe
-fpreprocessed rwflash.ii -quiet -dumpbase rwflash.cpp -auxbase-strip
obj/rwflash.o -Wextra -Wall -version -fmessage-length=0 -o rwflash.s
GNU C++ version 3.4.5 (ae32000-elf)
compiled by GNU C version 4.3.4 20090804 (release) 1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
rwflash.cpp: In member function `void C_FLASH::dosort()':
rwflash.cpp:206: internal compiler error: in cxx_expand_expr, at cp/expr.c:114
I think these statement cause this ICE:
typedef bool (C_FLASH::*PMF)(PLO,PLO);
if(mPLO.empty()) return;
PMF pmf = &C_FLASH::ComparePLO;
sort(mPLO.begin(),mPLO.end(),this->*pmf);//this is line 206 of rwflash.cpp
PLO is a struct,mPLO is std::vector<PLO>.