This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/20810] New: [ARM thumb] ICE with C++ bitsets in thumb mode
- From: "jifl-bugzilla at jifvik dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Apr 2005 13:54:58 -0000
- Subject: [Bug target/20810] New: [ARM thumb] ICE with C++ bitsets in thumb mode
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Compile the following testcase with arm-elf-gcc 3.4.3 as follows:
arm-elf-gcc -c -mcpu=arm7tdmi -O2 -mthumb bitset1.cxx
With bitset1.cxx containing:
#include <bitset>
extern void check(void);
// 64 works, 65 doesn't
//#define N 64
#define N 65
int main( int argc, char *argv[] )
{
typedef std::bitset<N> B;
unsigned int i, j;
B b1, b2;
b2 = ~b1;
if ( b2 != ~b1 )
;
b2.reset();
for ( i = j = 0; i < N; i++ ) {
b2.set( j );
if ( i != b1.test(j) )
check();
j++;
}
b2 = ~b2;
}
The result is:
bitset1.cxx: In function `int main(int, char**)':
bitset1.cxx:27: error: insn does not satisfy its constraints:
(insn:HI 472 471 473 5 (set (reg:SI 3 r3 [169])
(mem/s:SI (plus:SI (reg:SI 1 r1 [304])
(reg/f:SI 13 sp)) [7 <variable>._M_w S4 A32])) 126
{*thumb_movsi_insn} (nil)
(expr_list:REG_EQUIV (mem/s:SI (plus:SI (reg:SI 1 r1 [304])
(reg/f:SI 13 sp)) [7 <variable>._M_w S4 A32])
(nil)))
bitset1.cxx:27: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:391
Please submit a full bug report,
with preprocessed source if appropriate.
The testcase is a pared down fragment of a much larger function so it doesn't
make much sense any more, but it still reproduces the ICE.
I will attach the .ii file separately.
--
Summary: [ARM thumb] ICE with C++ bitsets in thumb mode
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jifl-bugzilla at jifvik dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: arm-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20810