This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/38338] New: Compile abort when compiling code which used to work
- From: "rfm at gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Dec 2008 07:21:37 -0000
- Subject: [Bug c/38338] New: Compile abort when compiling code which used to work
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The compiler aborts wile building the GNUstep base library.
The problem was originally in an objective-c file, but I isolated it to a small
fragment of C code which causes the same failure.
Compiler version is:
Target: i686-pc-linux-gnu
Configured with: ../configure --with-mpfr=/usr/local --enable-shared
--enable-threads=posix --enable-objc-gc --enable-languages=c,c++,objc,obj-c++
Thread model: posix
gcc version 4.4.0 20081128 (experimental) (GCC)
Here is the compiler error message:
.c: In function ?Äòapply_char?Äô:
x.c:12: error: unable to find a register to spill in class ?ÄòQ_REGS?Äô
x.c:12: error: this is the insn:
(insn 3 2 7 2 x.c:9 (set (mem/c/i:QI (plus:SI (reg/f:SI 20 frame)
(const_int -20 [0xffffffec])) [0 data+0 S1 A8])
(subreg:QI (reg:SI 4 si [63]) 0)) 50 {*movqi_1} (expr_list:REG_DEAD
(reg:SI 4 si [63])
(nil)))
x.c:12: internal compiler error: in spill_failure, at reload1.c:2093
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Here is the command line to compile the program:
gcc x.c -c -fPIC
Here is the program (x.c):
typedef void(*apply_t)(void);
static char return_char (char data)
{
return data;
}
static void* apply_char(char data)
{
void* args = __builtin_apply_args();
return __builtin_apply((apply_t)return_char, args, sizeof(void*));
}
--
Summary: Compile abort when compiling code which used to work
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rfm at gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38338