[Bug target/52731] New: internal compiler error: in ia64_st_address_bypass_p, at config/ia64/ia64.c:9357
awl at passagen dot se
gcc-bugzilla@gcc.gnu.org
Mon Mar 26 20:12:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52731
Bug #: 52731
Summary: internal compiler error: in ia64_st_address_bypass_p,
at config/ia64/ia64.c:9357
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: awl@passagen.se
Created attachment 27004
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27004
Preprocessed test case
Internal compiler error in GCC 4.7.0 on IA64. Fault exists also in older
versions of GCC.
Target: ia64-unknown-linux-gnu
Configured with: /home/user/build/gcc-4.7.0/configure
--prefix=/home/user/software --with-gmp=/home/user/software
--with-mpfr=/home/user/software --with-mpc=/home/user/software
--with-system-libunwind --enable-languages=c,c++
$ gcc -c -O2 ia64_8451.cc
ia64_8451.cc: In function 'void fun(long unsigned int)':
ia64_8451.cc:16:1: internal compiler error: in ia64_st_address_bypass_p, at
config/ia64/ia64.c:9357
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
$ cat ia64_8451.cc
char* area;
long int area_size;
char* base;
void fun(unsigned long int addr)
{
unsigned long int size32 = (addr + 4096 - 1) & ~(4096 - 1);
unsigned long int size = size32 * sizeof(unsigned int);
if (size > 0) {
size = (size + 16384 -1) & ~(16384 - 1);
}
area_size = size;
area = base + size;
}
$
More information about the Gcc-bugs
mailing list